@ArgumentsChecked
	@Throws({ IllegalNullArgumentException.class, IllegalInstanceOfArgumentException.class })
	@SuppressWarnings("unchecked")
	public static <T> T instanceOf(@Nonnull final Class<?> type, @Nonnull final Object obj) {
		return (T) instanceOf(type, obj, EMPTY_ARGUMENT_NAME);
	}
@ ArgumentsChecked @ Throws ( { IllegalNullArgumentException . class , IllegalInstanceOfArgumentException . class } ) @ SuppressWarnings ( "unchecked" ) public static < T > T instanceOf ( @ Nonnull final Class < ? > type , @ Nonnull final Object obj ) { return ( T ) instanceOf ( type , obj , EMPTY_ARGUMENT_NAME ) ; }
Ensures that a passed argument is a member of a specific type.

@param type
class that the given object is a member of
@param obj
the object reference that should be a member of a specific {@code type}
@return the given object cast to type

@throws IllegalInstanceOfArgumentException
if the given argument {@code obj} is not a member of {@code type}