}
public TwoDimensionalSet(TwoDimensionalMap<K1, K2, Boolean> backingMap) {
this.backingMap = backingMap;
}
public static <K1, K2> TwoDimensionalSet<K1, K2> treeSet() {
<BUG>return new TwoDimensionalSet<K1, K2>(TwoDimensionalMap.<K1, K2, Boolean>treeMap());
}</BUG>
public boolean add(K1 k1, K2 k2) {
return (backingMap.put(k1, k2, true) != null);
}

}
public TwoDimensionalSet(TwoDimensionalMap<K1, K2, Boolean> backingMap) {
this.backingMap = backingMap;
}
public static <K1, K2> TwoDimensionalSet<K1, K2> treeSet() {
return new TwoDimensionalSet<K1, K2>(TwoDimensionalMap.<K1, K2, Boolean>treeMap());
}
public static <K1, K2> TwoDimensionalSet<K1, K2> hashSet() {
return new TwoDimensionalSet<K1, K2>(TwoDimensionalMap.<K1, K2, Boolean>hashMap());
}
public boolean add(K1 k1, K2 k2) {
return (backingMap.put(k1, k2, true) != null);
}
