@Value.Lazy
	public NameForms typeEnclosing() {
		String name = protoclass().kind().isDefinedValue()
				? names().typeImmutable
				: names().typeImmutableEnclosing();

		return ImmutableConstitution.NameForms.builder()
				.simple(name)
				.relativeRaw(name)
				.packageOf(implementationPackage())
				.visibility(implementationEnclosingVisibility())
				.build();
	}
Walks to the enclosing type's simple names and applies naming convention.
This shortcut/fix shows deficiency of model (it's probably more complicated than needed).
@return enclosing immutable name
value-processor/src/org/immutables/value/processor/meta/Constitution.java