// Generated by delombok at Sun Nov 06 21:21:45 CET 2022

public class MultipleMethodBuilderWithExistedClass {
  private final long id;
  private final String name;

  public MultipleMethodBuilderWithExistedClass(long id, String name) {
    this.id = id;
    this.name = name;
  }

  // (1)
  private static MultipleMethodBuilderWithExistedClass builderB(long id) {
    return new MultipleMethodBuilderWithExistedClass(id, "");
  }

  // (2)
  private static MultipleMethodBuilderWithExistedClass builderA(String name) {
    return new MultipleMethodBuilderWithExistedClass(0L, name);
  }

  static {
    new BuilderA().name("");
    new BuilderB().id(0L);
  }

  // (3)
  public static class BuilderA {
    @java.lang.SuppressWarnings("all")
    private String name;

    @java.lang.SuppressWarnings("all")
    BuilderA() {
    }

    /**
     * @return {@code this}.
     */
    @java.lang.SuppressWarnings("all")
    public MultipleMethodBuilderWithExistedClass.BuilderA name(final String name) {
      this.name = name;
      return this;
    }

    @java.lang.SuppressWarnings("all")
    public MultipleMethodBuilderWithExistedClass build() {
      return MultipleMethodBuilderWithExistedClass.builderA(this.name);
    }

    @java.lang.Override
    @java.lang.SuppressWarnings("all")
    public java.lang.String toString() {
      return "MultipleMethodBuilderWithExistedClass.BuilderA(name=" + this.name + ")";
    }
  }

  // (4)
  public static class BuilderB {
    @java.lang.SuppressWarnings("all")
    private long id;

    @java.lang.SuppressWarnings("all")
    BuilderB() {
    }

    /**
     * @return {@code this}.
     */
    @java.lang.SuppressWarnings("all")
    public MultipleMethodBuilderWithExistedClass.BuilderB id(final long id) {
      this.id = id;
      return this;
    }

    @java.lang.SuppressWarnings("all")
    public MultipleMethodBuilderWithExistedClass build() {
      return MultipleMethodBuilderWithExistedClass.builderB(this.id);
    }

    @java.lang.Override
    @java.lang.SuppressWarnings("all")
    public java.lang.String toString() {
      return "MultipleMethodBuilderWithExistedClass.BuilderB(id=" + this.id + ")";
    }
  }
}
