@Override
  public FallbackNullableKind fallbackNullableKind() {
    if (fallbackNullableKind == null) {
      String annotation = style().fallbackNullableAnnotationName();
      if (annotation.equals(INHERITED_CLASS_NAME)) {
        if (constitution.protoclass().isJSpecifyNullMarked()) {
          fallbackNullableKind = FallbackNullableKind.JSPECIFY;
        } else {
          fallbackNullableKind = FallbackNullableKind.UNSPECIFIED;
        }
      } else {
        if (constitution.protoclass().environment().isTypeuseOnly(annotation)) {
          fallbackNullableKind = FallbackNullableKind.SPECIFIED_TYPEUSE;
        } else {
          fallbackNullableKind = FallbackNullableKind.SPECIFIED;
        }
      }
    }
    return fallbackNullableKind;
  }
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