@Override
    public boolean equals(Object o) {
      if (this == o) return true;
      if (!(o instanceof Key)) return false;
      K t = myObject;
      //noinspection unchecked
      K u = ((Key<K>)o).get();
      return keysEqual(t, u, myStrategy);
    }
@Override
    public boolean equals(Object o)