import java.util.List; import java.util.Collection; class BuilderSingularLists { private List children; private Collection scarves; @SuppressWarnings("all") private List rawList; @java.lang.SuppressWarnings("all") BuilderSingularLists(final List children, final Collection scarves, final List rawList) { this.children = children; this.scarves = scarves; this.rawList = rawList; } @java.lang.SuppressWarnings("all") public static class BuilderSingularListsBuilder { @java.lang.SuppressWarnings("all") private java.util.ArrayList children; @java.lang.SuppressWarnings("all") private java.util.ArrayList scarves; @java.lang.SuppressWarnings("all") private java.util.ArrayList rawList; @java.lang.SuppressWarnings("all") BuilderSingularListsBuilder() { } @java.lang.SuppressWarnings("all") public BuilderSingularLists.BuilderSingularListsBuilder child(final T child) { if (this.children == null) this.children = new java.util.ArrayList(); this.children.add(child); return this; } @java.lang.SuppressWarnings("all") public BuilderSingularLists.BuilderSingularListsBuilder children(final java.util.Collection children) { if (this.children == null) this.children = new java.util.ArrayList(); this.children.addAll(children); return this; } @java.lang.SuppressWarnings("all") public BuilderSingularLists.BuilderSingularListsBuilder clearChildren() { if (this.children != null) this.children.clear(); return this; } @java.lang.SuppressWarnings("all") public BuilderSingularLists.BuilderSingularListsBuilder scarf(final Number scarf) { if (this.scarves == null) this.scarves = new java.util.ArrayList(); this.scarves.add(scarf); return this; } @java.lang.SuppressWarnings("all") public BuilderSingularLists.BuilderSingularListsBuilder scarves(final java.util.Collection scarves) { if (this.scarves == null) this.scarves = new java.util.ArrayList(); this.scarves.addAll(scarves); return this; } @java.lang.SuppressWarnings("all") public BuilderSingularLists.BuilderSingularListsBuilder clearScarves() { if (this.scarves != null) this.scarves.clear(); return this; } @java.lang.SuppressWarnings("all") public BuilderSingularLists.BuilderSingularListsBuilder rawList(final java.lang.Object rawList) { if (this.rawList == null) this.rawList = new java.util.ArrayList(); this.rawList.add(rawList); return this; } @java.lang.SuppressWarnings("all") public BuilderSingularLists.BuilderSingularListsBuilder rawList(final java.util.Collection rawList) { if (this.rawList == null) this.rawList = new java.util.ArrayList(); this.rawList.addAll(rawList); return this; } @java.lang.SuppressWarnings("all") public BuilderSingularLists.BuilderSingularListsBuilder clearRawList() { if (this.rawList != null) this.rawList.clear(); return this; } @java.lang.SuppressWarnings("all") public BuilderSingularLists build() { java.util.List children; switch (this.children == null ? 0 : this.children.size()) { case 0: children = java.util.Collections.emptyList(); break; case 1: children = java.util.Collections.singletonList(this.children.get(0)); break; default: children = java.util.Collections.unmodifiableList(new java.util.ArrayList(this.children)); } java.util.Collection scarves; switch (this.scarves == null ? 0 : this.scarves.size()) { case 0: scarves = java.util.Collections.emptyList(); break; case 1: scarves = java.util.Collections.singletonList(this.scarves.get(0)); break; default: scarves = java.util.Collections.unmodifiableList(new java.util.ArrayList(this.scarves)); } java.util.List rawList; switch (this.rawList == null ? 0 : this.rawList.size()) { case 0: rawList = java.util.Collections.emptyList(); break; case 1: rawList = java.util.Collections.singletonList(this.rawList.get(0)); break; default: rawList = java.util.Collections.unmodifiableList(new java.util.ArrayList(this.rawList)); } return new BuilderSingularLists(children, scarves, rawList); } @java.lang.Override @java.lang.SuppressWarnings("all") public java.lang.String toString() { return "BuilderSingularLists.BuilderSingularListsBuilder(children=" + this.children + ", scarves=" + this.scarves + ", rawList=" + this.rawList + ")"; } } @java.lang.SuppressWarnings("all") public static BuilderSingularLists.BuilderSingularListsBuilder builder() { return new BuilderSingularLists.BuilderSingularListsBuilder(); } }