import java.util.List; public class SuperBuilderWithGenerics3 { public static @lombok.experimental.SuperBuilder class Parent { public static abstract @java.lang.SuppressWarnings("all") class ParentBuilder, B extends SuperBuilderWithGenerics3.Parent.ParentBuilder> { private @java.lang.SuppressWarnings("all") String str; public ParentBuilder() { super(); } protected abstract @java.lang.SuppressWarnings("all") B self(); public abstract @java.lang.SuppressWarnings("all") C build(); /** * @return {@code this}. */ public @java.lang.SuppressWarnings("all") B str(final String str) { this.str = str; return self(); } public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() { return (("SuperBuilderWithGenerics3.Parent.ParentBuilder(str=" + this.str) + ")"); } } private static final @java.lang.SuppressWarnings("all") class ParentBuilderImpl extends SuperBuilderWithGenerics3.Parent.ParentBuilder, SuperBuilderWithGenerics3.Parent.ParentBuilderImpl> { private ParentBuilderImpl() { super(); } protected @java.lang.Override @java.lang.SuppressWarnings("all") SuperBuilderWithGenerics3.Parent.ParentBuilderImpl self() { return this; } public @java.lang.Override @java.lang.SuppressWarnings("all") SuperBuilderWithGenerics3.Parent build() { return new SuperBuilderWithGenerics3.Parent(this); } } private final String str; protected @java.lang.SuppressWarnings("all") Parent(final SuperBuilderWithGenerics3.Parent.ParentBuilder b) { super(); this.str = b.str; } public static @java.lang.SuppressWarnings("all") SuperBuilderWithGenerics3.Parent.ParentBuilder builder() { return new SuperBuilderWithGenerics3.Parent.ParentBuilderImpl(); } } public static @lombok.experimental.SuperBuilder class Child extends Parent { public static class SomeInnerStaticClass { public SomeInnerStaticClass() { super(); } } public static abstract @java.lang.SuppressWarnings("all") class ChildBuilder> extends Parent.ParentBuilder { private @java.lang.SuppressWarnings("all") double field3; public ChildBuilder() { super(); } protected abstract @java.lang.Override @java.lang.SuppressWarnings("all") B self(); public abstract @java.lang.Override @java.lang.SuppressWarnings("all") C build(); /** * @return {@code this}. */ public @java.lang.SuppressWarnings("all") B field3(final double field3) { this.field3 = field3; return self(); } public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() { return (((("SuperBuilderWithGenerics3.Child.ChildBuilder(super=" + super.toString()) + ", field3=") + this.field3) + ")"); } } private static final @java.lang.SuppressWarnings("all") class ChildBuilderImpl extends SuperBuilderWithGenerics3.Child.ChildBuilder { private ChildBuilderImpl() { super(); } protected @java.lang.Override @java.lang.SuppressWarnings("all") SuperBuilderWithGenerics3.Child.ChildBuilderImpl self() { return this; } public @java.lang.Override @java.lang.SuppressWarnings("all") SuperBuilderWithGenerics3.Child build() { return new SuperBuilderWithGenerics3.Child(this); } } double field3; protected @java.lang.SuppressWarnings("all") Child(final SuperBuilderWithGenerics3.Child.ChildBuilder b) { super(b); this.field3 = b.field3; } public static @java.lang.SuppressWarnings("all") SuperBuilderWithGenerics3.Child.ChildBuilder builder() { return new SuperBuilderWithGenerics3.Child.ChildBuilderImpl(); } } public SuperBuilderWithGenerics3() { super(); } }