@Value.Lazy
    public ValueImmutableInfo features() {
      if (declaringType().isPresent()
          && !declaringType().get().useImmutableDefaults()) {
        Optional<ValueImmutableInfo> features = declaringType().get().features();
        if (features.isPresent()) {
          return features.get();
        }
      }
      return styles().defaults();
    }
Element used mostly for error reporting,
real model provided by {@link #sourceElement()}.
value-processor/src/org/immutables/value/processor/meta/Proto.java