code: public static <T> C.List<T> toList(Collection<? extends T> col) {
          if (col.size() == 0) {
              return Nil.list();
          }
          if (col instanceof C.List) {
              C.List<T> list = $.cast(col);
              if (list.is(C.Feature.IMMUTABLE)) {
                  return list;
              }
          }
          return new ListBuilder<T>(col).toList();
      }
docs: Returns an immutable {@link C.List} from a collection
  
  @param col the collection specified
  @param <T> element type
  @return an immutable list contains all elements in the collection