/** {@inheritDoc} */ @Override public Message compose(RESTEasyBindingData source, Exchange exchange) throws Exception { final Message message = super.compose(source, exchange); if (message.getContent() instanceof BaseClientResponse) { BaseClientResponse<?> clientResponse = (BaseClientResponse<?>) message.getContent(); if (clientResponse.getResponseStatus() == Response.Status.NOT_FOUND) { throw new ItemNotFoundException("Item not found"); } } else if (source.getOperationName().equals("addItem") && (source.getParameters().length == 2)) { // Wrap the parameters Item item = new Item((Integer) source.getParameters()[0], (String) source.getParameters()[1]); message.setContent(item); } return message; }