code: public void put(final K key, V value) {
          ManagedReference<V> ref = new ManagedReference<V>(bundle, value) {
              @Override
              public void finalizeReference() {
                  super.finalizeReference();
                  internalMap.remove(key, get());
              }
          };
          internalMap.put(key, ref);
      }
docs: Sets a new value for a given key. an older value is overwritten.
  @param key a non null key
  @param value the new value