code: private void updateLinkedRequestAppDataMapping(final ClientTransaction ctx,
  			Dialog dialog) {
  		if(logger.isDebugEnabled()) {
  			logger.debug("updateLinkedRequestAppDataMapping");
  		}
  		final Transaction linkedTransaction = linkedRequest.getTransaction();
  		final Dialog linkedDialog = linkedRequest.getDialog();
  		//keeping the client transaction in the server transaction's application data
  		if(linkedTransaction != null && linkedTransaction.getApplicationData() != null) {
  			((TransactionApplicationData)linkedTransaction.getApplicationData()).setTransaction(ctx);
  		}
  		if(linkedDialog != null && linkedDialog.getApplicationData() != null) {
  			((TransactionApplicationData)linkedDialog.getApplicationData()).setTransaction(ctx);
  		}
  		//keeping the server transaction in the client transaction's application data
  		this.transactionApplicationData.setTransaction(linkedTransaction);
  		if(dialog!= null && dialog.getApplicationData() != null) {
  			((TransactionApplicationData)dialog.getApplicationData()).setTransaction(linkedTransaction);
  		}
  	}
docs: Keeping the transactions mapping in application data for CANCEL handling
  
  @param ctx
  @param dialog