public static function of($class/* , ... $values */) {
			if (!EnumUtil::isEnumClass($class))
				throw new InvalidArgumentException($class .
					' is not loaded or does not extend DaybreakStudios\Common\Enum\Enum.');

			$values = func_get_args();
			array_shift($values);

			return new EnumSet($class, $values);
		}
public static function of($class/* , ... $values */) {
			if (!EnumUtil::isEnumClass($class))
				throw new InvalidArgumentException($class .
					' is not loaded or does not extend DaybreakStudios\Common\Enum\Enum.');

			$values = func_get_args();
			array_shift($values);

			return new EnumSet($class, $values);
		}
public static function of ( $ class /* , ... $values */ ) { if ( ! EnumUtil :: isEnumClass ( $ class ) ) throw new InvalidArgumentException ( $ class . ' is not loaded or does not extend DaybreakStudios\Common\Enum\Enum.' ) ; $ values = func_get_args ( ) ; array_shift ( $ values ) ; return new EnumSet ( $ class , $ values ) ; }
Creates a new EnumSet that contains all of the elements passed to this method after the first.

@throws InvalidArgumentException if the given class name is not an enum

@param  string $class    the fully-qualified namespace of the enum
@param  Enum $values,... zero or more values that the resulting EnumSet should contain
@return EnumSet 			the resulting EnumSet
Creates a new EnumSet that contains all of the elements passed to this method after the first .