Demote NullArgumentForNonNullParameter to a warning

Since the rules_java 9.3.0 -> 9.5.0 bump in commit f999479bed, the Java
21 CI verification fails on about twenty call sites that pass a null
default value to Guava methods such as Iterables.getFirst(). The code is
correct: null is the documented default-value usage, and getFirst() is
declared <T extends @Nullable Object>, so its @ParametricNullness
defaultValue parameter accepts null whenever the inferred type argument
is nullable.

The errors are a known Error Prone false positive [1] that only occurs
when javac fails to read the @Nullable type-use annotation on the
type-variable bound from the Guava class files. Reading such annotations
from class files was fixed by JDK-8341779 [2], a redo of the earlier
JDK-8225377 [3], and needs a JDK 21 update release that includes the
backport (21.0.8 or later). Error Prone started trusting these bound
annotations in [4], which shipped with the newer Error Prone bundled by
rules_java 9.5.0.

Bazel's remotejdk_21 is Azul Zulu 21.0.9+10, which does not contain the
JDK-8341779 backport; vendor discretion over backports is called out by
the Error Prone maintainers in [1], and Temurin 21.0.9+10 does contain
it. This is why the check misfires only in the Java 21 verification:
with the Java 25 toolchain javac reads the annotation correctly and the
check stays silent, as it should.

Demote the check to a warning instead of disabling it, so the signal
stays visible in build logs on both toolchains without failing the Java
21 CI. Restore it to an error once Bazel's remotejdk_21 points at a JDK
21 update with the JDK-8341779 backport; Zulu 21.0.11 and 21.0.12 are
already published, but even rules_java 9.7.0 still pins Zulu 21.0.9
[5]; a repin has been requested upstream [6].

[1] https://github.com/google/error-prone/issues/5436
[2] https://bugs.openjdk.org/browse/JDK-8341779
[3] https://bugs.openjdk.org/browse/JDK-8225377
[4] https://github.com/google/error-prone/pull/5429
[5] https://github.com/bazelbuild/rules_java/releases/tag/9.7.0
[6] https://github.com/bazelbuild/rules_java/issues/369

Release-Notes: skip
Change-Id: Ib59e2c8f04a7d1365e9b2a84c7f01d3e58a6b9c2
diff --git a/tools/BUILD b/tools/BUILD
index 8b3429d..539aad5 100644
--- a/tools/BUILD
+++ b/tools/BUILD
@@ -306,6 +306,13 @@
         "-Xep:NonOverridingEquals:ERROR",
         "-Xep:NonRuntimeAnnotation:ERROR",
         "-Xep:NullOptional:ERROR",
+        # Demoted to a warning: false positive on Guava methods like
+        # Iterables.getFirst(iterable, null) when javac cannot read the
+        # @Nullable bound of <T extends @Nullable Object> from class
+        # files. Bazel's remotejdk_21 (Zulu 21.0.9) lacks the
+        # JDK-8341779 backport; JDK 25 is unaffected. See the commit
+        # message introducing this line for the full reference trail.
+        "-Xep:NullArgumentForNonNullParameter:WARN",
         "-Xep:NullTernary:ERROR",
         "-Xep:NullableConstructor:ERROR",
         "-Xep:NullablePrimitive:ERROR",