code: @Override
      public RESTEasyBindingData decompose(Exchange exchange, RESTEasyBindingData target) throws Exception {
          Object content = exchange.getMessage().getContent();
          String opName = exchange.getContract().getProviderOperation().getName();
          if (opName.equals("getItem") && (content == null)) {
              exchange.getContext().setProperty(RESTEasyContextMapper.HTTP_RESPONSE_STATUS, 404)
                      .addLabels(new String[] { EndpointLabel.HTTP.label() });
          }
  
          target = super.decompose(exchange, target);
  
          if (target.getOperationName().equals("addItem") && (content != null) && (content instanceof Item)) {
              // Unwrap the parameters
              target.setParameters(new Object[] { ((Item) content).getItemId(), ((Item) content).getName(),
                      ((Item) content).getPrice() });
          }
  
          return target;
      }
docs: {@inheritDoc}