import java.util.List;
public class SuperBuilderCustomizedWithSetterPrefix {
  public static @lombok.experimental.SuperBuilder(setterPrefix = "set") class Parent {
    public static abstract class ParentBuilder<C extends Parent, B extends ParentBuilder<C, B>> {
      private @java.lang.SuppressWarnings("all") int field1;
      public ParentBuilder() {
        super();
      }
      public B setField1(int field1) {
        this.field1 = (field1 + 1);
        return self();
      }
      protected abstract @java.lang.SuppressWarnings("all") B self();
      public abstract @java.lang.SuppressWarnings("all") C build();
      public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() {
        return (("SuperBuilderCustomizedWithSetterPrefix.Parent.ParentBuilder(field1=" + this.field1) + ")");
      }
    }
    private static final @java.lang.SuppressWarnings("all") class ParentBuilderImpl extends SuperBuilderCustomizedWithSetterPrefix.Parent.ParentBuilder<SuperBuilderCustomizedWithSetterPrefix.Parent, SuperBuilderCustomizedWithSetterPrefix.Parent.ParentBuilderImpl> {
      private ParentBuilderImpl() {
        super();
      }
      protected @java.lang.Override @java.lang.SuppressWarnings("all") SuperBuilderCustomizedWithSetterPrefix.Parent.ParentBuilderImpl self() {
        return this;
      }
      public @java.lang.Override @java.lang.SuppressWarnings("all") SuperBuilderCustomizedWithSetterPrefix.Parent build() {
        return new SuperBuilderCustomizedWithSetterPrefix.Parent(this);
      }
    }
    int field1;
    protected @java.lang.SuppressWarnings("all") Parent(final SuperBuilderCustomizedWithSetterPrefix.Parent.ParentBuilder<?, ?> b) {
      super();
      this.field1 = b.field1;
    }
    public static @java.lang.SuppressWarnings("all") SuperBuilderCustomizedWithSetterPrefix.Parent.ParentBuilder<?, ?> builder() {
      return new SuperBuilderCustomizedWithSetterPrefix.Parent.ParentBuilderImpl();
    }
  }
  public SuperBuilderCustomizedWithSetterPrefix() {
    super();
  }
  public static void test() {
    Parent x = Parent.builder().setField1(5).build();
  }
}
