public void process(Monitor monitor) {

    if (CompositeMonitor.class.isAssignableFrom(monitor.getClass())
        && !monitor.hasAttribute("resultCode")) {
      if (monitor.hasAttribute("failureThrowable")) {
        Throwable t = (Throwable) monitor.get("failureThrowable");
        while (t.getCause() != null) {
          t = t.getCause();
        }
        monitor.set("resultCode", t.getClass().getName());
      } else {
        monitor.set("resultCode", "success");
      }
    }
  }