@Override
    public <T> T get(final @NotNull Key<T> key) {
      if (key.equals(myKey)) return (T)myValue;
      return myNext.get(key);
    }
@Override
    public <T> T get(final @NotNull Key<T> key)