docs: @Override
      public V remove(Object key) {
          CachedValue<K, V> entry = map.remove(key);
          if (entry != null) {
              onValueRemove(entry);
              if (!isValueExpired(entry)) {
                  return (V) entry.getValue();
              }
          }
          return null;
      }