docs: @SuppressWarnings("unchecked")
      public static <T> T asType(Object[] ary, Class<T> clazz) {
          if (clazz == List.class) {
              return (T) new ArrayList(Arrays.asList(ary));
          }
          if (clazz == Set.class) {
              return (T) new HashSet(Arrays.asList(ary));
          }
          if (clazz == SortedSet.class) {
              return (T) new TreeSet(Arrays.asList(ary));
          }
  
          return asType((Object) ary, clazz);
      }