code: public static <E> ImmutableMultiset<E> copyOf(
        Iterator<? extends E> elements) {
      Multiset<E> multiset = LinkedHashMultiset.create();
      Iterators.addAll(multiset, elements);
      return copyOfInternal(multiset);
    }
docs: Returns an immutable multiset containing the given elements.
  
  <p>The multiset is ordered by the first occurrence of each element. For
  example,
  {@code ImmutableMultiset.copyOf(Arrays.asList(2, 3, 1, 3).iterator())}
  yields a multiset with elements in the order {@code 2, 3, 3, 1}.
  
  @throws NullPointerException if any of {@code elements} is null