@Nullable
  public <T> T getUserData(@NotNull DataKey<T> key) {
    @SuppressWarnings("unchecked") T t = (T)myUserData.get(key.getName());
    return t;
  }
@Nullable
  public <T> T getUserData(@NotNull DataKey<T> key)