code: @Beta
  	public static <T> Set<T> toSet(Iterable<T> iterable) {
  		if (iterable instanceof Set<?>) {
  			Set<T> result = (Set<T>) iterable;
  			return result;
  		}
  		return Sets.newLinkedHashSet(iterable);
  	}
docs: Returns a set that contains all the unique entries of the given iterable in the order of their appearance. If the
  iterable is of type {@link Set}, itself is returned. Therefore an unchecked cast is performed.
  In all other cases, the result set is a copy of the iterable with stable order.
  
  @param iterable
  the iterable. May not be <code>null</code>.
  @return a set with the unique entries of the given iterable. May be the same as the given iterable iff it
  implements {@link Set}, otherwise a copy is returned. Never <code>null</code>.