@Override
  public @Nullable SourceStructureGet readCachedSourceGet() {
    if (cachedSourceGet == null) {
      CharSequence source = inferDeclaringType(element).sourceCode();
      if (source.length() > 0) {
        // and all this needed only to defeat Javac problem, sigh
        cachedSourceGet = new SourceStructureGet(source);
      }
    }
    return cachedSourceGet;
  }
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