public V put(K1 key1, K2 key2, V value) {
        checkNotNull(key1, "Key1 cannot be null");
        checkNotNull(key2, "Key2 cannot be null");
        checkNotNull(value, "Value cannot be null");

        Map<K2, V> innerMap = backingMap.computeIfAbsent(key1, x -> new HashMap<>());
        return innerMap.put(key2, value);
    }
@Test
    public void givenEmpty_whenPut_thenReturnNull() {
        String prevValue = map.put("1", "2", "value");
        assertNull(prevValue);
    }