@Nonnull
  public static <ENUMTYPE extends Enum <ENUMTYPE> & IHasName> ENUMTYPE getFromNameOrThrow (@Nonnull final Class <ENUMTYPE> aClass,
                                                                                           @Nullable final String sName)
  {
    final ENUMTYPE aEnum = getFromNameOrNull (aClass, sName);
    if (aEnum == null)
      throw new IllegalArgumentException ("Failed to resolve name " + sName + " within class " + aClass);
    return aEnum;
  }
@ Nonnull public static < ENUMTYPE extends Enum < ENUMTYPE > & IHasName > ENUMTYPE getFromNameOrThrow ( @ Nonnull final Class < ENUMTYPE > aClass , @ Nullable final String sName ) { final ENUMTYPE aEnum = getFromNameOrNull ( aClass , sName ) ; if ( aEnum == null ) throw new IllegalArgumentException ( "Failed to resolve name " + sName + " within class " + aClass ) ; return aEnum ; }
Get the enum value with the passed name. If no such name is present, an
{@link IllegalArgumentException} is thrown.

@param <ENUMTYPE>
The enum type
@param aClass
The enum class
@param sName
The name to search
@return The enum item with the given name. Never <code>null</code>.
@throws IllegalArgumentException
if no enum item with the given name is present