//version 8: import java.util.List; import java.util.Collection; class BuilderSingularNullBehavior1 { private List names; private List locations; @java.lang.SuppressWarnings("all") BuilderSingularNullBehavior1(final List names, final List locations) { this.names = names; this.locations = locations; } @java.lang.SuppressWarnings("all") public static class BuilderSingularNullBehavior1Builder { @java.lang.SuppressWarnings("all") private java.util.ArrayList names; @java.lang.SuppressWarnings("all") private java.util.ArrayList locations; @java.lang.SuppressWarnings("all") BuilderSingularNullBehavior1Builder() { } @java.lang.SuppressWarnings("all") public BuilderSingularNullBehavior1.@org.checkerframework.checker.nullness.qual.NonNull BuilderSingularNullBehavior1Builder name(final String name) { if (this.names == null) this.names = new java.util.ArrayList(); this.names.add(name); return this; } @java.lang.SuppressWarnings("all") public BuilderSingularNullBehavior1.@org.checkerframework.checker.nullness.qual.NonNull BuilderSingularNullBehavior1Builder names(final java.util.@org.checkerframework.checker.nullness.qual.NonNull Collection names) { assert names != null : "names cannot be null"; if (this.names == null) this.names = new java.util.ArrayList(); this.names.addAll(names); return this; } @java.lang.SuppressWarnings("all") public BuilderSingularNullBehavior1.@org.checkerframework.checker.nullness.qual.NonNull BuilderSingularNullBehavior1Builder clearNames() { if (this.names != null) this.names.clear(); return this; } @java.lang.SuppressWarnings("all") public BuilderSingularNullBehavior1.@org.checkerframework.checker.nullness.qual.NonNull BuilderSingularNullBehavior1Builder location(final String location) { if (this.locations == null) this.locations = new java.util.ArrayList(); this.locations.add(location); return this; } @java.lang.SuppressWarnings("all") public BuilderSingularNullBehavior1.@org.checkerframework.checker.nullness.qual.NonNull BuilderSingularNullBehavior1Builder locations(final java.util.@org.checkerframework.checker.nullness.qual.Nullable Collection locations) { if (locations != null) { if (this.locations == null) this.locations = new java.util.ArrayList(); this.locations.addAll(locations); } return this; } @java.lang.SuppressWarnings("all") public BuilderSingularNullBehavior1.@org.checkerframework.checker.nullness.qual.NonNull BuilderSingularNullBehavior1Builder clearLocations() { if (this.locations != null) this.locations.clear(); return this; } @org.checkerframework.checker.nullness.qual.NonNull @java.lang.SuppressWarnings("all") public BuilderSingularNullBehavior1 build() { java.util.List names; switch (this.names == null ? 0 : this.names.size()) { case 0: names = java.util.Collections.emptyList(); break; case 1: names = java.util.Collections.singletonList(this.names.get(0)); break; default: names = java.util.Collections.unmodifiableList(new java.util.ArrayList(this.names)); } java.util.List locations; switch (this.locations == null ? 0 : this.locations.size()) { case 0: locations = java.util.Collections.emptyList(); break; case 1: locations = java.util.Collections.singletonList(this.locations.get(0)); break; default: locations = java.util.Collections.unmodifiableList(new java.util.ArrayList(this.locations)); } return new BuilderSingularNullBehavior1(names, locations); } @java.lang.Override @java.lang.SuppressWarnings("all") public java.lang.@org.checkerframework.checker.nullness.qual.NonNull String toString() { return "BuilderSingularNullBehavior1.BuilderSingularNullBehavior1Builder(names=" + this.names + ", locations=" + this.locations + ")"; } } @java.lang.SuppressWarnings("all") public static BuilderSingularNullBehavior1.@org.checkerframework.checker.nullness.qual.NonNull BuilderSingularNullBehavior1Builder builder() { return new BuilderSingularNullBehavior1.BuilderSingularNullBehavior1Builder(); } }