List<AnnotationInjection> getDeclaringTypeAnnotationInjections() {
    Optional<DeclaringType> declaringType = constitution.protoclass().declaringType();
    if (declaringType.isPresent()) {
      return declaringType.get().getAnnotationInjections();
    }
    return ImmutableList.of();
  }
Means object hashcode is cached at some point. Either lazily (on first access)
or eagerly (during construction).
@see #isUseLazyhash()
@see #isUsePrehashed()
value-processor/src/org/immutables/value/processor/meta/ValueType.java