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