docs: public Map<Long, V> getOldestAccessedItems(int n) {
          Map<Long, V> result = new LinkedHashMap<Long, V>();
          if (n <= 0)
              return result;
          TreeSet<CacheEntry<Long, V>> tree = new TreeSet<CacheEntry<Long, V>>();
          markAndSweepLock.lock();
          try {
              for (Map.Entry<Long, CacheEntry<Long, V>> entry : map.entrySet()) {
                  CacheEntry<Long, V> ce = entry.getValue();
                  ce.lastAccessedCopy = ce.lastAccessed;
                  if (tree.size() < n) {
                      tree.add(ce);
                  } else {
                      if (ce.lastAccessedCopy < tree.first().lastAccessedCopy) {
                          tree.remove(tree.first());
                          tree.add(ce);
                      }
                  }
              }
          } finally {
              markAndSweepLock.unlock();
          }
          for (CacheEntry<Long, V> e : tree) {
              result.put(e.key, e.value);
          }
          return result;
      }