android/guava/src/com/google/common/collect/Sets.java
public static <E> HashSet<E> newHashSet(Iterator<? extends E> elements) {
    HashSet<E> set = newHashSet();
    Iterators.addAll(set, elements);
    return set;
  }
public static <E> HashSet<E> newHashSet(Iterator<? extends E> elements) {
    HashSet<E> set = newHashSet();
    Iterators.addAll(set, elements);
    return set;
  }
public static < E > HashSet < E > newHashSet ( Iterator < ? extends E > elements ) { HashSet < E > set = newHashSet ( ) ; Iterators . addAll ( set , elements ) ; return set ; }
Creates a <i>mutable</i> {@code HashSet} instance containing the given elements. A very thin
convenience for creating an empty set and then calling {@link Iterators#addAll}.

<p><b>Note:</b> if mutability is not required and the elements are non-null, use {@link
ImmutableSet#copyOf(Iterator)} instead.

<p><b>Note:</b> if {@code E} is an {@link Enum} type, you should create an {@link EnumSet}
instead.

<p>Overall, this method is not very useful and will likely be deprecated in the future.
Creates a <i > mutable< / i > { @code HashSet } instance containing the given elements . A very thin convenience for creating an empty set and then calling { @link Iterators#addAll } .