boolean verifiedFactory(ExecutableElement element) {
      if (!isTopLevel() || !suitableForBuilderFactory(element)) {
        report().withElement(element)
            .annotationNamed(FactoryMirror.simpleName())
            .error("@%s method '%s' should be static, non-private, non-void and enclosed in top level type",
                FactoryMirror.simpleName(),
                element.getSimpleName());
        return false;
      }

      return true;
    }
Checks if this element is a regular POJO (not an interface or abstract class) simple
class with getters and setters
value-processor/src/org/immutables/value/processor/meta/Proto.java