docs: @Override
    public List<String> listKeys() {
      lock.readLock().lock();
      try {
        List<String> keyList = new ArrayList<>(items.size());
        for (Map.Entry<String, Deque<MutablePair<DeltaType, Object>>> entry : items.entrySet()) {
          keyList.add(entry.getKey());
        }
        return keyList;
      } finally {
        lock.readLock().unlock();
      }
    }