code: public static <T> T newCheckedInstanceOf(final String className, final Class<T> clazz)
              throws ClassNotFoundException, NoSuchMethodException, InvocationTargetException, InstantiationException,
              IllegalAccessException {
          return clazz.cast(newInstanceOf(className));
      }
docs: Loads and instantiates a derived class using its default constructor.
  
  @param className The class name.
  @param clazz The class to cast it to.
  @param <T> The type of the class to check.
  @return new instance of the class cast to {@code T}
  @throws ClassNotFoundException if the class isn't available to the usual ClassLoaders
  @throws IllegalAccessException if the class can't be instantiated through a public constructor
  @throws InstantiationException if there was an exception whilst instantiating the class
  @throws NoSuchMethodException if there isn't a no-args constructor on the class
  @throws InvocationTargetException if there was an exception whilst constructing the class
  @throws ClassCastException if the constructed object isn't type compatible with {@code T}
  @since 2.1