private CharSequence appendParameters(
      ExecutableElement m,
      StringBuilder signature,
      DeclaringType declaringType,
      boolean withTypes,
      boolean allFinal) {
    signature.append("(");

    boolean notFirst = false;
    for (VariableElement p : m.getParameters()) {
      if (notFirst) {
        signature.append(", ");
      }
      if (allFinal) {
        signature.append("final ");
      }
      if (withTypes) {
        signature.append(printType(p, p.asType(), declaringType));
        signature.append(" ");
      }
      signature.append(p.getSimpleName());
      notFirst = true;
    }

    return signature.append(")");
  }
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