boolean verifiedConstructor(ExecutableElement element) {
      if (!isTopLevel() || !suitableForBuilderConstructor(element)) {
        report().withElement(element)
            .annotationNamed(FConstructorMirror.simpleName())
            .error("@%s annotated element should be non-private constructor in a top level type",
                FConstructorMirror.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