code: @GwtIncompatible // CopyOnWriteArrayList
    public static <E> CopyOnWriteArrayList<E> newCopyOnWriteArrayList(
        Iterable<? extends E> elements) {
      // We copy elements to an ArrayList first, rather than incurring the
      // quadratic cost of adding them to the COWAL directly.
      Collection<? extends E> elementsCollection =
          (elements instanceof Collection) ? Collections2.cast(elements) : newArrayList(elements);
      return new CopyOnWriteArrayList<>(elementsCollection);
    }
docs: Creates a {@code CopyOnWriteArrayList} instance containing the given elements.
  
  @param elements the elements that the list should contain, in order
  @return a new {@code CopyOnWriteArrayList} containing those elements
  @since 12.0