code: public static <T extends XNSerializable> T parseItem(XNElement item, Supplier<T> creator) {
          T result = creator.get();
          result.load(item);
          return result;
      }
docs: Create an XNSerializable object through the {@code creator} function
  and load it from the {@code item}.
  @param <T> the XNSerializable object
  @param item the item to load from
  @param creator the function to create Ts
  @return the created and loaded object