public void process(Exchange exchange) throws Exception {
      TracedRouteNodes traced = exchange.getUnitOfWork().getTracedRouteNodes();

      // get the list of intercepted nodes
      List<RouteNode> list = traced.getNodes();
      // get the 3rd last as its the bean
      Processor last = list.get(list.size() - 3).getProcessor();

      // wrapped by JMX
      if (last instanceof InstrumentationProcessor) {
        InstrumentationProcessor ip = (InstrumentationProcessor) last;
        last = ip.getProcessor();
      }

      // set error message
      exchange.getOut().setFault(true);
      exchange.getOut().setBody("Failed at: " + last.toString());
    }