@Override
  public <T> T getUserData(final @NotNull Class<T> userDataClass) {
    if (myUserData != null) {
      for (Object o : myUserData) {
        if (userDataClass.isInstance(o)) {
          @SuppressWarnings("unchecked") T t = (T)o;
          return t;
        }
      }
    }
    return null;
  }
@Override
  public <T> T getUserData(final @NotNull Class<T> userDataClass)