@Value.Lazy
    public Instantiator encodingInstantiator() {
      List<EncodingInfo> results = new ArrayList<>();
      packageOf().collectEncodings(results);
      if (declaringType().isPresent()) {
        declaringType().get().collectEncodings(results);
      }
      return environment().instantiatorFor(FluentIterable.from(results).toSet());
    }
Element used mostly for error reporting,
real model provided by {@link #sourceElement()}.
value-processor/src/org/immutables/value/processor/meta/Proto.java