code: @SafeVarargs
    @GwtCompatible(serializable = true)
    public static <E> ArrayList<E> newArrayList(E... elements) {
      checkNotNull(elements); // for GWT
      // Avoid integer overflow when a large array is passed in
      int capacity = computeArrayListCapacity(elements.length);
      ArrayList<E> list = new ArrayList<>(capacity);
      Collections.addAll(list, elements);
      return list;
    }
docs: Creates a <i>mutable</i> {@code ArrayList} instance containing the given elements.
  
  <p><b>Note:</b> essentially the only reason to use this method is when you will need to add or
  remove elements later. Otherwise, for non-null elements use {@link ImmutableList#of()} (for
  varargs) or {@link ImmutableList#copyOf(Object[])} (for an array) instead. If any elements
  might be null, or you need support for {@link List#set(int, Object)}, use {@link
  Arrays#asList}.
  
  <p>Note that even when you do need the ability to add or remove, this method provides only a
  tiny bit of syntactic sugar for {@code newArrayList(}{@link Arrays#asList asList}{@code
  (...))}, or for creating an empty list then calling {@link Collections#addAll}. This method is
  not actually very useful and will likely be deprecated in the future.