@Override
  public @Nullable <T> T getUserData(@NotNull Key<T> key) {
    if (myUserData == null) return null;
    @SuppressWarnings("unchecked") T t = (T)myUserData.get(key);
    return t;
  }
@Override
  public @Nullable <T> T getUserData(@NotNull Key<T> key)