docs: private <R> R doWithWriteLock(Action<K, V, R> action) {
          writeLock.lock();
          try {
              return action.doWith(commonCache);
          } finally {
              writeLock.unlock();
          }
      }