Creates a resizable {@code ArrayList} instance containing the given
elements.
Note: due to a bug in javac 1.5.0_06, we cannot support the
following:
{@code List list = Lists.newArrayList(sub1, sub2);}
where {@code sub1} and {@code sub2} are references to subtypes of
{@code Base}, not of {@code Base} itself. To get around this, you must
use:
{@code List list = Lists.newArrayList(sub1, sub2);}
int capacity = (elements.length * 110) / 100 + 5;
ArrayList<E> list = new ArrayList<E>(capacity);
Collections.addAll(list, elements);
return list;