code: @SuppressWarnings("all")
  	protected Object newInstance(String className) {
  		log.debug("Loading class: {}", className);
  		Object instance = null;
  		Class<?> clazz = null;
  		if ("".equals(className) || className == null)
  			return instance;
  		try {
  			// check for special DS class aliases
  			if (className.length() == 3) {
  				className = classAliases.get(className);
  			}
  			if (className.startsWith("flex.")) {
  				// Use Red5 compatibility class instead
  				className = "org.red5.compatibility." + className;
  				log.debug("Modified classname: {}", className);
  			}
  			if (!classAllowed(className)) {
  				log.error("Class creation is not allowed {}", className);
  			} else {
  				clazz = Thread.currentThread().getContextClassLoader()
  						.loadClass(className);
  				instance = clazz.newInstance();
  			}
  		} catch (InstantiationException iex) {
  			try {
  				// check for default ctor
  				clazz.getConstructor(null);
  				log.error("Error loading class: {}", className);
  			} catch (NoSuchMethodException nse) {
  				log.error(
  						"Error loading class: {}; this can be resolved by adding a default constructor to your class",
  						className);
  			}
  			log.debug("Exception was: {}", iex);
  		} catch (Exception ex) {
  			log.error("Error loading class: {}", className);
  			log.debug("Exception was: {}", ex);
  		}
  		return instance;
  	}
docs: Creates a new instance of the className parameter and returns as an
  Object
  
  @param className
  Class name as String
  @return Object New object instance (for given class)