class WithAndAllArgsConstructor<T, J extends T, L extends java.lang.Number> { J test; java.util.List<L> test2; final int x = 10; int y = 20; final int z; @java.lang.SuppressWarnings("all") public WithAndAllArgsConstructor(final J test, final java.util.List<L> test2, final int y, final int z) { this.test = test; this.test2 = test2; this.y = y; this.z = z; } /** * @return a clone of this object, except with this updated property (returns {@code this} if an identical value is passed). */ @java.lang.SuppressWarnings("all") public WithAndAllArgsConstructor<T, J, L> withTest(final J test) { return this.test == test ? this : new WithAndAllArgsConstructor<T, J, L>(test, this.test2, this.y, this.z); } /** * @return a clone of this object, except with this updated property (returns {@code this} if an identical value is passed). */ @java.lang.SuppressWarnings("all") public WithAndAllArgsConstructor<T, J, L> withTest2(final java.util.List<L> test2) { return this.test2 == test2 ? this : new WithAndAllArgsConstructor<T, J, L>(this.test, test2, this.y, this.z); } }