@Override
    public TypeElement apply(DeclaredType input) {
      return (TypeElement) input.asElement();
    }
Element used mostly for error reporting,
real model provided by {@link #sourceElement()}.
value-processor/src/org/immutables/value/processor/meta/Proto.java