@SuppressWarnings("CheckReturnValue")
  void use() {
    // this immutable type (package style used)
    ImIncludeTypes.builder().build();
    // included on this type (package style used)
    ImSerializable.builder().build();
    // included on package (package style used)
    ImTicker.builder().read(1).build();

    // included in IncludeNestedTypes
    ImmutableIncludeNestedTypes.Retention retention =
        ImmutableIncludeNestedTypes.Retention.builder()
            .value(RetentionPolicy.CLASS)
            .build();

    // included in IncludeNestedTypes
    ImmutableIncludeNestedTypes.Target target =
        ImmutableIncludeNestedTypes.Target.builder()
            .value(ElementType.CONSTRUCTOR, ElementType.ANNOTATION_TYPE)
            .build();

    // package applied style "copyWith*" test
    // see PackageStyle
    retention.copyWithValue(RetentionPolicy.RUNTIME);
    target.copyWithValue(ElementType.CONSTRUCTOR, ElementType.LOCAL_VARIABLE);
  }
Feature combination
<ul>
<li>Included on types and packages
<li>Included as nested types
<li>Package style application
</ul>
value-fixture/src/org/immutables/fixture/style/IncludeTypes.java