docs: @SuppressWarnings({ "unchecked", "rawtypes" })
  	public static <T> Collection<T> addAll(Collection<T> collection, Object value, Type elementType) {
  		if (null == collection || null == value) {
  			return collection;
  		}
  		if (TypeUtil.isUnknow(elementType)) {
  			// 元素类型为空时，使用Object类型来接纳所有类型
  			elementType = Object.class;
  		} else {
  			final Class<?> elementRowType = TypeUtil.getClass(elementType);
  			if (null != elementRowType && (elementRowType.isInstance(value) && false == Iterable.class.isAssignableFrom(elementRowType))) {
  				// 其它类型按照单一元素处理
  				collection.add((T) value);
  				return collection;
  			}
  		}
  
  		Iterator iter;
  		if (value instanceof Iterator) {
  			iter = (Iterator) value;
  		} else if (value instanceof Iterable) {
  			iter = ((Iterable) value).iterator();
  		} else if (value instanceof Enumeration) {
  			iter = new EnumerationIter<>((Enumeration) value);
  		} else if (ArrayUtil.isArray(value)) {
  			iter = new ArrayIter<>(value);
  		} else if (value instanceof CharSequence) {
  			// String按照逗号分隔的列表对待
  			iter = StrUtil.splitTrim((CharSequence) value, CharUtil.COMMA).iterator();
  		} else {
  			// 其它类型按照单一元素处理
  			iter = CollUtil.newArrayList(value).iterator();
  		}
  
  		final ConverterRegistry convert = ConverterRegistry.getInstance();
  		while (iter.hasNext()) {
  			collection.add((T) convert.convert(elementType, iter.next()));
  		}
  
  		return collection;
  	}