code: public static <T> ListDataKey<T> create(String name, Class<T> dataClass, boolean allowNull) {
          if (dataClass.isPrimitive()) {
              throw new IllegalArgumentException("primitives are not supported - please use their corresponding wrappers");
          }
          if (dataClass.isArray()) {
              throw new IllegalArgumentException("arrays are not supported - please use a list with their corresponding wrapper");
          }
          return new ListDataKey(name, dataClass, allowNull);
      }
docs: creates a list data key with the given name and type. If you allow for null values
  then the list might as well be null. Otherwise only actual lists are allowed to be
  stored and retrieved.
  
  @param <T> the type of the value
  @param name the name of the key that is stored in the xdata file
  @param dataClass the class of the type
  @param allowNull if null is allowed or not
  @return