code: @SuppressWarnings("unchecked")
      public static <T> T asType(Iterable iterable, Class<T> clazz) {
          if (Collection.class.isAssignableFrom(clazz)) {
              return asType((Collection) toList(iterable), clazz);
          }
  
          return asType((Object) iterable, clazz);
      }
docs: Converts the given iterable to another type.
  
  @param iterable a Iterable
  @param clazz    the desired class
  @return the object resulting from this type conversion
  @see #asType(Collection, Class)
  @since 2.4.12