BuilderCopyableAnnotations () { java.util.List<String> someStrings; switch (this.someStrings == null ? 0 : this.someStrings.size()) { case 0: someStrings = java.util.Collections.emptyList(); break; case 1: someStrings = java.util.Collections.singletonList(this.someStrings.get(0)); break; default: someStrings = java.util.Collections.unmodifiableList(new ArrayList<String>(this.someStrings)); } return new BuilderCopyableAnnotations(this.someFloat, this.someInt, this.someField, someStrings); }