code: public V remove(Object key) {
          clean();
  
          ValueRef<K, V> valueRef = mValues.remove(key);
          V value;
  
          if (valueRef != null && (value = valueRef.get()) != null) {
              valueRef.clear();
              return value;
          }
  
          return null;
      }
docs: Manually remove a value, returning the old value.