code: @Override
      public void handleMessage(Message message) {
  
          handlersList = getHanderList(busType, flow);
  
          if (handlersList == null || handlersList.size() == 0) {
  
              return;
          }
  
          ArrayList<Handler> excutedHandlers = new ArrayList<Handler>();
          JAXRS20MessageContextImpl jaxrsMessageContext = new JAXRS20MessageContextImpl(message);
          jaxrsMessageContext.isServerSide = busType.equals(Type.SERVER);
          jaxrsMessageContext.isClientSide = busType.equals(Type.CLIENT);
          jaxrsMessageContext.setProperty(HandlerConstants.FLOW_TYPE, flow.toUpperCase());
          try {
              Iterator<Handler> it = handlersList.iterator();
              while (it.hasNext()) {
                  Handler handler = it.next();
                  handler.handleMessage(jaxrsMessageContext);
                  excutedHandlers.add(handler);
              }
          } catch (Exception e) {
              for (int i = excutedHandlers.size() - 1; i >= 0; i--) {
                  excutedHandlers.get(i).handleFault(jaxrsMessageContext);
              }
          }
      }
docs: /*
  (non-Javadoc)
  
  @see org.apache.cxf.interceptor.Interceptor#handleMessage(org.apache.cxf.message.Message)