public String getThrowForNullPointer() {
    if (throwForNullPointer == null) {
      if (!style().throwForNullPointerName().equals(NullPointerException.class.getName())) {
        throwForNullPointer = style().throwForNullPointerName();
      } else {
        // falsy but non-null value
        throwForNullPointer = "";
      }
    }
    return throwForNullPointer;
  }
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