code: public JandexAssert hasNullabilityInfoOnAllMethods() {
          // Precondition
          isNotNull();
  
          final RuleMethodHasNullabilityInfo rule = new RuleMethodHasNullabilityInfo();
  
          final StringBuilder sb = new StringBuilder();
          boolean ok = true;
  
          final Collection<ClassInfo> classes = actual.getKnownClasses();
          for (final ClassInfo clasz : classes) {
              final List<MethodInfo> methods = clasz.methods();
              for (final MethodInfo method : methods) {
                  if (!ignored(method) && !Modifier.isPrivate(method.flags())) {
                      final List<MethodInfo> overrideMethods = Utils.findOverrideMethods(actual, method);
                      if (overrideMethods.size() == 0) {
                          // Only check methods that DON'T override an interface or super method
                          final AssertionResult result = rule.verify(method);
                          if (!result.isValid()) {
                              ok = false;
                              sb.append(result.getErrorMessage());
                          }
                      }
                  }
              }
          }
  
          if (!ok) {
              failWithMessage("A parameter or the return value has neither a " + "@NotNull nor a @Nullable annotation:\n" + sb.toString());
          }
  
          return this;
      }
docs: Checks if all public, protected and package visible methods define nullability. This means they have either
  <code>javax.validation.constraints.NotNull</code> or <code>org.fuin.objects4j.common.Nullable</code> annotations for parameters and
  return values.
  
  @return Self.