// version 14:
import lombok.With;
public @With record WithOnRecord(String a, String b) {
/* Implicit */  private final String a;
/* Implicit */  private final String b;
  public WithOnRecord(String a, String b) {
    super();
    .a = a;
    .b = b;
  }
  /**
   * @return a clone of this object, except with this updated property (returns {@code this} if an identical value is passed).
   */
  public @java.lang.SuppressWarnings("all") WithOnRecord withA(final String a) {
    return ((this.a == a) ? this : new WithOnRecord(a, this.b));
  }
  /**
   * @return a clone of this object, except with this updated property (returns {@code this} if an identical value is passed).
   */
  public @java.lang.SuppressWarnings("all") WithOnRecord withB(final String b) {
    return ((this.b == b) ? this : new WithOnRecord(this.a, b));
  }
}