@Override
      public V put(K key, V value) {
        // no use in creating SoftReference to null
        //noinspection unchecked
        V toStore = value == null ? (V)NULL_RESULT : value;
        return super.put(key, toStore);
      }
@Override
      public V put(K key, V value)