private void maybeInitJavaBean() {
    if (!containingType.kind().isJavaBean()) {
      return;
    }

    // JavaBeans have nullable attributes by default (except for primitives / optionals /
    // collections / criteria)
    // allow only scalar types to be nullable (by default) for JavaBeans
    // override nullability if not set
    if (this.nullability == null
        && !isPrimitive()
        && !isOptionalType()
        && !isCollectionType()) {
      this.nullability = NullabilityAnnotationInfo.forTypeUse();
    }
  }
Init (or override) internal attributes specific to JavaBeans
value-processor/src/org/immutables/value/processor/meta/ValueAttribute.java