code: @SuppressWarnings("unchecked")
      public static <T> T newTypeInstance(String className, Class<T> returnClass) {
          try {
              Class<T> clazz = (Class<T>) Class.forName(className);
              return clazz.newInstance();
          } catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) {
              throw new DeepGenericException(e);
          }
      }
docs: Creates a new instance of the given class name.
  
  @param <T>         the type parameter
  @param className   the class object for which a new instance should be created.
  @param returnClass the return class
  @return the new instance of class clazz.