@Override
    public boolean contains(Object o) {
      if (!(o instanceof Map.Entry)) {
        return false;
      }

      @SuppressWarnings("unchecked")
      Map.Entry<K, V> e = (Map.Entry<K, V>)o;
      V value = get(e.getKey());
      return value != null && value.equals(e.getValue());
    }
@Override
    public boolean contains(Object o)