class AbstractTwoLevelMap {

  public V getItem(final K key1, final K key2) {
    final Map<K, V> keyOneValues = this.getItems(key1);

    return keyOneValues.computeIfAbsent(key2, k -> createValue());
  }

}