public @Nullable TelescopicBuild getTelescopicBuild() {
    if (telescopicBuild == null) {
      if (style().stagedBuilder()
          && !getMandatoryAttributes().isEmpty()
          && (constitution.isNestedFactoryOrConstructor() || !constitution.isOutsideBuilder())) {
        TelescopicBuild tb = TelescopicBuild.from(this, getSettableAttributes());
        if (!tb.stages.isEmpty()) {
          telescopicBuild = tb;
        }
      }
    }
    return telescopicBuild;
  }
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