code: @Override
      public final void handleMessage(Exchange exchange) throws HandlerException {
          if (ExchangePhase.IN.equals(exchange.getPhase())) {
              ExchangeContract contract = exchange.getContract();
              KnowledgeOperation operation = getOperation(contract.getProviderOperation());
              if (operation == null) {
                  operation = getOperation(contract.getConsumerOperation());
              }
              if (operation == null) {
                  // we use "default" here instead of getDefaultOperation() so that a
                  // user can define a name="default" in their switchyard.xml
                  operation = _operations.get(DEFAULT);
              }
              handleOperation(exchange, operation);
          }
      }
docs: {@inheritDoc}