code: public static <E> ImmutableMultiset<E> copyOf(Iterator<? extends E> elements) {
      Multiset<E> multiset = LinkedHashMultiset.create();
      Iterators.addAll(multiset, elements);
      return copyFromEntries(multiset.entrySet());
    }
docs: Returns an immutable multiset containing the given elements, in the "grouped iteration order"
  described in the class documentation.
  
  @throws NullPointerException if any of {@code elements} is null