code: public synchronized V invalidate(K key) {
          Singleton<V> singleton = _cache.get(key);
          if (singleton != null) {
              return singleton.clear();
          } else {
              return null;
          }
      }
docs: Invalidates an entry in the cache. This operation does not constitute a cache replacement.
  
  @param key the identity of the object
  @return the matching object that is being discarded, if any