TypeNames createTypeNames() {
      Element sourceElement = sourceElement();
      if (sourceElement.getKind() == ElementKind.CONSTRUCTOR) {
        sourceElement = sourceElement.getEnclosingElement();
      }
      return styles().forType(sourceElement.getSimpleName().toString());
    }
Element used mostly for error reporting,
real model provided by {@link #sourceElement()}.
value-processor/src/org/immutables/value/processor/meta/Proto.java