code: public static <E extends Enum<E>> EnumSet<E> newEnumSet(
        Iterable<E> iterable, Class<E> elementType) {
      EnumSet<E> set = EnumSet.noneOf(elementType);
      Iterables.addAll(set, iterable);
      return set;
    }
docs: Returns a new, <i>mutable</i> {@code EnumSet} instance containing the given elements in their
  natural order. This method behaves identically to {@link EnumSet#copyOf(Collection)}, but also
  accepts non-{@code Collection} iterables and empty iterables.