import java.util.Map;
import java.util.SortedMap;
class BuilderSingularMaps<K, V> {
private Map<K, V> women;
private SortedMap<K, ? extends Number> men;
@SuppressWarnings("all")
private Map rawMap;
private Map<String, V> stringMap;
@SuppressWarnings("all")
BuilderSingularMaps(Map<K, V> women, SortedMap<K, ? extends Number> men, Map rawMap, Map<String, V> stringMap) {
this.women = women;
this.men = men;
this.rawMap = rawMap;
this.stringMap = stringMap;
}
@SuppressWarnings("all")
public static class BuilderSingularMapsBuilder<K, V> {
@SuppressWarnings("all")
private java.util.ArrayList<K> women$key;
@SuppressWarnings("all")
private java.util.ArrayList<V> women$value;
@SuppressWarnings("all")
private java.util.ArrayList<K> men$key;
@SuppressWarnings("all")
private java.util.ArrayList<Number> men$value;
@SuppressWarnings("all")
private java.util.ArrayList<Object> rawMap$key;
@SuppressWarnings("all")
private java.util.ArrayList<Object> rawMap$value;
@SuppressWarnings("all")
private java.util.ArrayList<String> stringMap$key;
@SuppressWarnings("all")
private java.util.ArrayList<V> stringMap$value;
@SuppressWarnings("all")
BuilderSingularMapsBuilder() {
}
@SuppressWarnings("all")
public BuilderSingularMapsBuilder<K, V> woman(K womanKey, V womanValue) {
if (this.women$key == null) {
this.women$key = new java.util.ArrayList<K>();
this.women$value = new java.util.ArrayList<V>();
}
this.women$key.add(womanKey);
this.women$value.add(womanValue);
return this;
}
@SuppressWarnings("all")
public BuilderSingularMapsBuilder<K, V> women(java.util.Map<? extends K, ? extends V> women) {
if (this.women$key == null) {
this.women$key = new java.util.ArrayList<K>();
this.women$value = new java.util.ArrayList<V>();
}
for (java.util.Map.Entry<? extends K, ? extends V> $lombokEntry : women.entrySet()) {
this.women$key.add($lombokEntry.getKey());
this.women$value.add($lombokEntry.getValue());
}
return this;
}
@SuppressWarnings("all")
public BuilderSingularMapsBuilder<K, V> man(K manKey, Number manValue) {
if (this.men$key == null) {
this.men$key = new java.util.ArrayList<K>();
this.men$value = new java.util.ArrayList<Number>();
}
this.men$key.add(manKey);
this.men$value.add(manValue);
return this;
}
@SuppressWarnings("all")
public BuilderSingularMapsBuilder<K, V> men(java.util.Map<? extends K, ? extends Number> men) {
if (this.men$key == null) {
this.men$key = new java.util.ArrayList<K>();
this.men$value = new java.util.ArrayList<Number>();
}
for (java.util.Map.Entry<? extends K, ? extends Number> $lombokEntry : men.entrySet()) {
this.men$key.add($lombokEntry.getKey());
this.men$value.add($lombokEntry.getValue());
}
return this;
}
@SuppressWarnings("all")
public BuilderSingularMapsBuilder<K, V> rawMap(Object rawMapKey, Object rawMapValue) {
if (this.rawMap$key == null) {
this.rawMap$key = new java.util.ArrayList<Object>();
this.rawMap$value = new java.util.ArrayList<Object>();
}
this.rawMap$key.add(rawMapKey);
this.rawMap$value.add(rawMapValue);
return this;
}
@SuppressWarnings("all")
public BuilderSingularMapsBuilder<K, V> rawMap(java.util.Map<?, ?> rawMap) {
if (this.rawMap$key == null) {
this.rawMap$key = new java.util.ArrayList<Object>();
this.rawMap$value = new java.util.ArrayList<Object>();
}
for (java.util.Map.Entry<?, ?> $lombokEntry : rawMap.entrySet()) {
this.rawMap$key.add($lombokEntry.getKey());
this.rawMap$value.add($lombokEntry.getValue());
}
return this;
}
@SuppressWarnings("all")
public BuilderSingularMapsBuilder<K, V> stringMap(String stringMapKey, V stringMapValue) {
if (this.stringMap$key == null) {
this.stringMap$key = new java.util.ArrayList<String>();
this.stringMap$value = new java.util.ArrayList<V>();
}
this.stringMap$key.add(stringMapKey);
this.stringMap$value.add(stringMapValue);
return this;
}
@SuppressWarnings("all")
public BuilderSingularMapsBuilder<K, V> stringMap(java.util.Map<? extends String, ? extends V> stringMap) {
if (this.stringMap$key == null) {
this.stringMap$key = new java.util.ArrayList<String>();
this.stringMap$value = new java.util.ArrayList<V>();
}
for (java.util.Map.Entry<? extends String, ? extends V> $lombokEntry : stringMap.entrySet()) {
this.stringMap$key.add($lombokEntry.getKey());
this.stringMap$value.add($lombokEntry.getValue());
}
return this;
}
@SuppressWarnings("all")
public BuilderSingularMaps<K, V> build() {
java.util.Map<K, V> women;
switch (this.women$key == null ? 0 : this.women$key.size()) {
case 0:
women = java.util.Collections.emptyMap();
break;
case 1:
women = java.util.Collections.singletonMap(this.women$key.get(0), this.women$value.get(0));
break;
default:
women = new java.util.LinkedHashMap<K, V>(this.women$key.size() < 1073741824 ? 1 + this.women$key.size() + (this.women$key.size() - 3) / 3 : Integer.MAX_VALUE);
for (int $i = 0; $i < this.women$key.size(); $i++) women.put(this.women$key.get($i), this.women$value.get($i));
women = java.util.Collections.unmodifiableMap(women);
}
java.util.SortedMap<K, Number> men = new java.util.TreeMap<K, Number>();
if (this.men$key != null) for (int $i = 0; $i < (this.men$key == null ? 0 : this.men$key.size()); $i++) men.put(this.men$key.get($i), this.men$value.get($i));
men = java.util.Collections.unmodifiableSortedMap(men);
java.util.Map<Object, Object> rawMap;
switch (this.rawMap$key == null ? 0 : this.rawMap$key.size()) {
case 0:
rawMap = java.util.Collections.emptyMap();
break;
case 1:
rawMap = java.util.Collections.singletonMap(this.rawMap$key.get(0), this.rawMap$value.get(0));
break;
default:
rawMap = new java.util.LinkedHashMap<Object, Object>(this.rawMap$key.size() < 1073741824 ? 1 + this.rawMap$key.size() + (this.rawMap$key.size() - 3) / 3 : Integer.MAX_VALUE);
for (int $i = 0; $i < this.rawMap$key.size(); $i++) rawMap.put(this.rawMap$key.get($i), this.rawMap$value.get($i));
rawMap = java.util.Collections.unmodifiableMap(rawMap);
}
java.util.Map<String, V> stringMap;
switch (this.stringMap$key == null ? 0 : this.stringMap$key.size()) {
case 0:
stringMap = java.util.Collections.emptyMap();
break;
case 1:
stringMap = java.util.Collections.singletonMap(this.stringMap$key.get(0), this.stringMap$value.get(0));
break;
default:
stringMap = new java.util.LinkedHashMap<String, V>(this.stringMap$key.size() < 1073741824 ? 1 + this.stringMap$key.size() + (this.stringMap$key.size() - 3) / 3 : Integer.MAX_VALUE);
for (int $i = 0; $i < this.stringMap$key.size(); $i++) stringMap.put(this.stringMap$key.get($i), this.stringMap$value.get($i));
stringMap = java.util.Collections.unmodifiableMap(stringMap);
}
return new BuilderSingularMaps<K, V>(women, men, rawMap, stringMap);
}
@Override
@SuppressWarnings("all")
public String toString() {
return "BuilderSingularMaps.BuilderSingularMapsBuilder(women$key=" + this.women$key + ", women$value=" + this.women$value + ", men$key=" + this.men$key + ", men$value=" + this.men$value + ", rawMap$key=" + this.rawMap$key + ", rawMap$value=" + this.rawMap$value + ", stringMap$key=" + this.stringMap$key + ", stringMap$value=" + this.stringMap$value + ")";
}
}
@SuppressWarnings("all")
public static <K, V> BuilderSingularMapsBuilder<K, V> builder() {
return new BuilderSingularMapsBuilder<K, V>();
}
}