code: protected void pushIgnoreNullabilityPragmas() {
      if (getGenerationUnit().options().nullability()
          || getGenerationUnit().hasNullabilityAnnotations()) {
        newline();
        println("#if __has_feature(nullability)");
        println("#pragma clang diagnostic push");
        println("#pragma GCC diagnostic ignored \"-Wnullability\"");
        println("#pragma GCC diagnostic ignored \"-Wnullability-completeness\"");
        println("#endif");
      }
    }
docs: Ignores nullability warnings. This method should be paired with popIgnoreNullabilityPragmas.
  
  <p>-Wnullability: In Java, conflicting nullability annotations do not cause compilation issues
  (e.g.changing a parameter from {@code @Nullable} to {@code @NonNull} in an overriding method).
  In Objective-C, they generate compiler warnings. The transpiled code should be able to compile
  in spite of conflicting/incomplete Java nullability annotations.
  
  <p>-Wnullability-completeness: if clang finds any nullability annotations, it checks that all
  annotable sites have annotations. Java checker frameworks don't have that requirement.