public static <E> ArrayList<E> newArrayList(Iterable<? extends E> elements) {
        checkNotNull(elements); // for GWT
        // Let ArrayList's sizing logic work, if possible
        return (elements instanceof Collection)
            ? new ArrayList<>((Collection<? extends E>)elements)
            : newArrayList(elements.iterator());
    }
Creates a <i>mutable</i> {@code ArrayList} instance containing the given elements;


<p><b>Note for Java 7 and later:</b> if {@code elements} is a {@link Collection}, you don't
need this method. Use the {@code ArrayList} {@linkplain ArrayList#ArrayList(Collection)
constructor} directly, taking advantage of the new <a href="http://goo.gl/iz2Wi">"diamond"
syntax</a>.
fastexcel-core/src/main/java/cn/idev/excel/util/ListUtils.java