@@ -0,0 +1,1631 @@
+package sfBugsNew;%0A%0Aimport javax.annotation.CheckForNull;%0Aimport javax.annotation.Nonnull;%0A%0Aimport edu.umd.cs.findbugs.annotations.ExpectWarning;%0A%0Apublic final class Bug1351 %7B%0A%0A    // FindBugs flags NP_PARAMETER_MUST_BE_NONNULL_BUT_MARKED_AS_NULLABLE%0A    @ExpectWarning(%22NP_PARAMETER_MUST_BE_NONNULL_BUT_MARKED_AS_NULLABLE%22)%0A    static StringPair shouldFlagAndDoes1(@CheckForNull String a, @CheckForNull String b) %7B%0A        return new StringPair(a, b);%0A    %7D%0A%0A    // FindBugs flags NP_NULL_PARAM_DEREF%0A    @ExpectWarning(%22NP_NULL_PARAM_DEREF%22)%0A    @CheckForNull%0A    static StringPair shouldFlagAndDoes2(@CheckForNull String a, @CheckForNull String b) %7B%0A        if (a == null && b == null) %7B%0A            return null;%0A        %7D%0A%0A        return new StringPair(a, b);%0A    %7D%0A%0A    // no FindBugs flagged%0A    @CheckForNull%0A    static StringPair shouldFlagButDoesnt1(@CheckForNull String a, @CheckForNull String b) %7B%0A        if (a == null) %7B%0A            return null;%0A        %7D%0A%0A        return new StringPair(a, b);%0A    %7D%0A%0A    // no FindBugs flagged%0A    @CheckForNull%0A    static StringPair shouldFlagButDoesnt2(@CheckForNull String a, @CheckForNull String b) %7B%0A        if (b == null) %7B%0A            return null;%0A        %7D%0A%0A        return new StringPair(a, b);%0A    %7D%0A%0A    static final class StringPair %7B%0A%0A        private final String a;%0A        private final String b;%0A%0A        StringPair(@Nonnull String a, @Nonnull String b) %7B%0A            this.a = a;%0A            this.b = b;%0A        %7D%0A%0A        String getA() %7B%0A            return a;%0A        %7D%0A%0A        String getB() %7B%0A            return b;%0A        %7D%0A    %7D%0A%0A    private Bug1351() %7B%0A%0A    %7D%0A%0A%7D%0A

Add example for bug 1351