SingularSet<T> () { java.util.Set<java.lang.Object> rawTypes; switch (this.rawTypes == null ? 0 : this.rawTypes.size()) { case 0: rawTypes = java.util.Collections.emptySet(); break; case 1: rawTypes = java.util.Collections.singleton(this.rawTypes.get(0)); break; default: rawTypes = new java.util.LinkedHashSet<java.lang.Object>(this.rawTypes.size() < 1073741824 ? 1 + this.rawTypes.size() + (this.rawTypes.size() - 3) / 3 : java.lang.Integer.MAX_VALUE); rawTypes.addAll(this.rawTypes); rawTypes = java.util.Collections.unmodifiableSet(rawTypes); } java.util.Set<Integer> integers; switch (this.integers == null ? 0 : this.integers.size()) { case 0: integers = java.util.Collections.emptySet(); break; case 1: integers = java.util.Collections.singleton(this.integers.get(0)); break; default: integers = new java.util.LinkedHashSet<Integer>(this.integers.size() < 1073741824 ? 1 + this.integers.size() + (this.integers.size() - 3) / 3 : java.lang.Integer.MAX_VALUE); integers.addAll(this.integers); integers = java.util.Collections.unmodifiableSet(integers); } java.util.Set<T> generics; switch (this.generics == null ? 0 : this.generics.size()) { case 0: generics = java.util.Collections.emptySet(); break; case 1: generics = java.util.Collections.singleton(this.generics.get(0)); break; default: generics = new java.util.LinkedHashSet<T>(this.generics.size() < 1073741824 ? 1 + this.generics.size() + (this.generics.size() - 3) / 3 : java.lang.Integer.MAX_VALUE); generics.addAll(this.generics); generics = java.util.Collections.unmodifiableSet(generics); } java.util.Set<Number> extendsGenerics; switch (this.extendsGenerics == null ? 0 : this.extendsGenerics.size()) { case 0: extendsGenerics = java.util.Collections.emptySet(); break; case 1: extendsGenerics = java.util.Collections.singleton(this.extendsGenerics.get(0)); break; default: extendsGenerics = new java.util.LinkedHashSet<Number>(this.extendsGenerics.size() < 1073741824 ? 1 + this.extendsGenerics.size() + (this.extendsGenerics.size() - 3) / 3 : java.lang.Integer.MAX_VALUE); extendsGenerics.addAll(this.extendsGenerics); extendsGenerics = java.util.Collections.unmodifiableSet(extendsGenerics); } return new SingularSet<T>(rawTypes, integers, generics, extendsGenerics); }