public FromSupertypesModel getBuildFromTypes() {
    if (buildFromTypes == null) {
      buildFromTypes = new FromSupertypesModel(
          report(),
          typeAbstract().toString(),
          getSettableAttributes(),
          accessorMapping,
          constitution.protoclass().processing(),
          extendedClasses(),
          implementedInterfaces());
    }
    return buildFromTypes;
  }
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