code: private static void initStringDefinedHandler(String handler) {
  		// split the class name and its label, if defined
  		Tuple<String, Class> namedClass = splitClassAndName(handler);
  
  		// create an instance of the handler
  		Object handlerOrProviderObject = null;
  		try {
  			handlerOrProviderObject = namedClass.second.newInstance();
  		} catch (Exception e) {
  			logger.error("Exception:", e);
  			throw new RuntimeException("Could not instantiate handler class: " + namedClass.second);
  		}
  
  		HttpHandler resolvedHandler;
  		if (handlerOrProviderObject instanceof HttpHandler) {
  			resolvedHandler = (HttpHandler) handlerOrProviderObject;
  		} else if (handlerOrProviderObject instanceof HandlerProvider) {
  			resolvedHandler = ((HandlerProvider) handlerOrProviderObject).getHandler();
  		} else {
  			throw new RuntimeException("Unsupported type of handler provided: " + handlerOrProviderObject);
  		}
  		registerMiddlewareHandler(resolvedHandler);
  		handlers.put(namedClass.first, resolvedHandler);
  		handlerListById.put(namedClass.first, Collections.singletonList(resolvedHandler));
  	}
docs: Helper method for generating the instance of a handler from its string
  definition in config. Ie. No mapped values for setters, or list of
  constructor fields. To note: It could either implement HttpHandler, or
  HandlerProvider.
  
  @param handler