code: public void eventProcessingFailed(ActivityHandle ah, FireableEventType arg1,
              Object event, Address arg3, ReceivableService arg4, int arg5, FailureReason arg6) {
          if (event.getClass() == CancelRequestEvent.class) {
              // PROCESSING FAILED, WE HAVE TO SEND 481 response to CANCEL
              try {
                  Response txDoesNotExistsResponse = this.providerWrapper.getMessageFactory().createResponse(Response.CALL_OR_TRANSACTION_DOES_NOT_EXIST,
                          ((CancelRequestEvent) event).getRequest());
                  // createResponse(..) method does not generate a To header tag,
                  // if there is no tag, we must generate it
                  ToHeader toHeader = (ToHeader) txDoesNotExistsResponse.getHeader(ToHeader.NAME);
                  if (toHeader.getTag() == null) {
                  	toHeader.setTag(Utils.getInstance().generateTag());
                  }
                  ServerTransactionWrapper stw = (ServerTransactionWrapper) getActivity(ah);
                  // provider.sendResponse(txDoesNotExistsResponse);
                  stw.sendResponse(txDoesNotExistsResponse);
              } catch (Exception e) {
                  e.printStackTrace();
              }
          }
      }
docs: /*
  (non-Javadoc)
  @see javax.slee.resource.ResourceAdaptor#eventProcessingFailed(javax.slee.resource.ActivityHandle, javax.slee.resource.FireableEventType, java.lang.Object, javax.slee.Address, javax.slee.resource.ReceivableService, int, javax.slee.resource.FailureReason)