@Override
  public @NotNull Set<Entry<K, V>> entrySet() {
    return new CollectionWrapper.CollectionWrapperSet<Entry<K, V>>(myMap.entrySet()) {
      @Override
      public Object wrap(Object val) {
        //noinspection unchecked
        return val instanceof EntryWrapper ? ((EntryWrapper<K, V>)val).myEntry : val;
      }

      @Override
      public Entry<K, V> unwrap(Entry<K, V> val) {
        return val.getKey() == FAKE_NULL() || val.getValue() == FAKE_NULL() ? new EntryWrapper<>(val) : val;
      }
    };
  }
@Override
  public @NotNull Set<Entry<K, V>> entrySet()