@Override
   public boolean equals(final Object o) {
     if (this == o) return true;
     if (o == null) return false;

     V v = get();
     //noinspection unchecked
     Object thatV = ((ValueReference<K, V>)o).get();
     return v != null && v.equals(thatV);
   }
@Override
   public boolean equals(final Object o)