@Value.Derived
    StyleInfo defaultStyles() {
      @Nullable TypeElement element = findElement(StyleMirror.qualifiedName());
      if (element == null) {
        processing().getMessager()
            .printMessage(Diagnostic.Kind.MANDATORY_WARNING,
                "Could not found annotations on the compile classpath. It looks like annotation processor is running"
                    + " in a separate annotation-processing classpath and unable to get to annotation definitions."
                    + " To fix this, please add annotation-only artifact 'org.immutables:value:(version):annotations'"
                    + " to 'compile' 'compileOnly' or 'provided' dependency scope.");

        element = findElement(StyleMirror.mirrorQualifiedName());
        verify(element != null, "Classpath should contain at least mirror annotation, otherwise library is corrupted");
      }
      try {
        return ToStyleInfo.FUNCTION.apply(StyleMirror.from(element));
      } catch (Exception ex) {
        processing().getMessager()
            .printMessage(Diagnostic.Kind.MANDATORY_WARNING,
                "The version of the Immutables annotation on the classpath has incompatible differences"
                    + " from the Immutables annotation processor used. Various problems might occur,"
                    + " like this one: "
                    + ex);

        element = findElement(StyleMirror.mirrorQualifiedName());
        verify(element != null,
            "classpath should contain at least the mirror annotation, otherwise library is corrupted");
        return ToStyleInfo.FUNCTION.apply(StyleMirror.from(element));
      }
    }
Element suitable for reporting as a source of declaration which might causing problems.
value-processor/src/org/immutables/value/processor/meta/Proto.java