code: @SuppressWarnings("all")
      public static <T> List<T> toTypedList(Object data, Class<T> type) {
          List<T> listResult = new ArrayList<>();
          if (data == null) {
              return listResult;
          }
          if (data instanceof Collection) {
              Collection collection = (Collection) data;
              for (Object o : collection) {
                  listResult.add(Reflection.toType(o, type));
              }
              return listResult;
          }
          if (data.getClass().isArray()) {
              for (Object o : ArrayUtil.toObjectArray(data)) {
                  listResult.add(Reflection.toType(o, type));
              }
              return listResult;
          }
          listResult.add(Reflection.toType(data, type));
          return listResult;
      }
docs: 将data适配为指定元素类型的list，请放心大胆做转换。<br>
  Adapt the data object to the given typed list, it is safe to make a cast even if the given data is not a list,
  or the element is not the given type.
  
  @return a newly created array list containing all the data