code: public void rollback(TransactionStatus status) throws TransactionException {
  
  		Exception rollbackException = null;
  		PlatformTransactionManager rollbackExceptionTransactionManager = null;
  
  		MultiTransactionStatus multiTransactionStatus = (MultiTransactionStatus) status;
  
  		for (PlatformTransactionManager transactionManager : reverse(transactionManagers)) {
  			try {
  				multiTransactionStatus.rollback(transactionManager);
  			} catch (Exception ex) {
  				if (rollbackException == null) {
  					rollbackException = ex;
  					rollbackExceptionTransactionManager = transactionManager;
  				} else {
  					LOGGER.warn("Rollback exception (" + transactionManager + ") " + ex.getMessage(), ex);
  				}
  			}
  		}
  
  		if (multiTransactionStatus.isNewSynchronization()) {
  			synchronizationManager.clearSynchronization();
  		}
  
  		if (rollbackException != null) {
  			throw new UnexpectedRollbackException("Rollback exception, originated at (" + rollbackExceptionTransactionManager
  					+ ") " + rollbackException.getMessage(), rollbackException);
  		}
  	}
docs: /*
  (non-Javadoc)
  @see org.springframework.transaction.PlatformTransactionManager#rollback(org.springframework.transaction.TransactionStatus)