public Map<K2, V> get(K1 key1) { return getMap(key1); }
public V put(K1 key1, K2 key2, V value) { Map<K2, V> m = getMap(key1); return m.put(key2, value); }
public Set<K2> secondKeySet(K1 k1) { return backingMap.getMap(k1).keySet(); }
public V get(K1 key1, K2 key2) { Map<K2, V> m = getMap(key1); return m.get(key2); }
public boolean contains(K1 key1, K2 key2) { if (!containsKey(key1)) { return false; } return getMap(key1).containsKey(key2); }
public Map<K2, V> get(K1 key1) { return getMap(key1); }
public Map<K2, V> get(K1 key1) { return getMap(key1); }
public Map<K2, V> get(K1 key1) { return getMap(key1); }
public V put(K1 key1, K2 key2, V value) { Map<K2, V> m = getMap(key1); return m.put(key2, value); }
public V get(K1 key1, K2 key2) { Map<K2, V> m = getMap(key1); return m.get(key2); }
public V get(K1 key1, K2 key2) { Map<K2, V> m = getMap(key1); return m.get(key2); }
public V put(K1 key1, K2 key2, V value) { Map<K2, V> m = getMap(key1); return m.put(key2, value); }
public V get(K1 key1, K2 key2) { Map<K2, V> m = getMap(key1); return m.get(key2); }
public Set<K2> secondKeySet(K1 k1) { return backingMap.getMap(k1).keySet(); }
public V put(K1 key1, K2 key2, V value) { Map<K2, V> m = getMap(key1); return m.put(key2, value); }
public Set<K2> secondKeySet(K1 k1) { return backingMap.getMap(k1).keySet(); }
public Set<K2> secondKeySet(K1 k1) { return backingMap.getMap(k1).keySet(); }
public boolean contains(K1 key1, K2 key2) { if (!containsKey(key1)) { return false; } return getMap(key1).containsKey(key2); }
public boolean contains(K1 key1, K2 key2) { if (!containsKey(key1)) { return false; } return getMap(key1).containsKey(key2); }
public boolean contains(K1 key1, K2 key2) { if (!containsKey(key1)) { return false; } return getMap(key1).containsKey(key2); }