docs: @Advice.OnMethodEnter
  	private static void addHandlers(@Advice.Argument(value = 0, readOnly = false) List<Handler> handlerChain, @Advice.This Binding binding) {
  		final java.util.logging.Logger logger = java.util.logging.Logger.getLogger("org.stagemonitor.tracing.soap.SoapHandlerTransformer");
  		final List<Handler<?>> stagemonitorHandlers = Dispatcher.get("org.stagemonitor.tracing.soap.SoapHandlerTransformer");
  
  		if (stagemonitorHandlers != null) {
  			logger.fine("Adding SOAPHandlers " + stagemonitorHandlers + " to handlerChain for Binding " + binding);
  			if (handlerChain == null) {
  				handlerChain = Collections.emptyList();
  			}
  			// creating a new list as we don't know if handlerChain is immutable or not
  			handlerChain = new ArrayList<Handler>(handlerChain);
  			for (Handler<?> stagemonitorHandler : stagemonitorHandlers) {
  				if (!handlerChain.contains(stagemonitorHandler) &&
  						// makes sure we only add the handler to the correct application
  						Dispatcher.isVisibleToCurrentContextClassLoader(stagemonitorHandler)) {
  					handlerChain.add(stagemonitorHandler);
  				}
  			}
  			logger.fine("Handler Chain: " + handlerChain);
  		} else {
  			logger.fine("No SOAPHandlers found in Dispatcher for Binding " + binding);
  		}
  	}