@Override
  public <T> void putUserData(@NotNull Key<T> key, @Nullable T value) {
    if (myUserData == null) myUserData = new HashMap<>();
    myUserData.put(key, value);
  }
@Override
  public <T> void putUserData(@NotNull Key<T> key, @Nullable T value)