docs: @Override
    public boolean removeIfEquals(K key, V _value) {
      Entry e = lookupEntry(key);
      if (e == null) {
        metrics.peekMiss();
        return false;
      }
      synchronized (e) {
        e.waitForProcessing();
        if (e.isGone()) {
          metrics.peekMiss();
          return false;
        }
        boolean f = e.hasFreshData(clock);
        if (f) {
          if (!e.equalsValue(_value)) {
            return false;
          }
        } else {
          metrics.peekHitNotFresh();
          return false;
        }
        removeEntry(e);
        return f;
      }
    }