docs: public void doBegin(Object transaction, TransactionDefinition definition) throws TransactionException {
  		try {
  			CompensatingTransactionObject txObject = (CompensatingTransactionObject) transaction;
  			if (txObject.getHolder() == null) {
  				CompensatingTransactionHolderSupport contextHolder = getNewHolder();
  				txObject.setHolder(contextHolder);
  
  				TransactionSynchronizationManager.bindResource(getTransactionSynchronizationKey(), contextHolder);
  			}
  		}
  		catch (Exception e) {
  			throw new CannotCreateTransactionException("Could not create DirContext instance for transaction", e);
  		}
  	}