code: @Override
  	public void close() {
  
  		// copy all resources as the close of a resource modifies the
  		// xaresources ...
  		Set<PhynixxXAResource<T>> tmpXAResources = new HashSet<PhynixxXAResource<T>>();
  		synchronized (xaresources) {
  			if (this.xaresources.size() > 0) {
  				tmpXAResources.addAll(xaresources);
  			}
  		}
  		// close all reopen XAResources ....
  		for (Iterator<PhynixxXAResource<T>> iterator = tmpXAResources.iterator(); iterator.hasNext();) {
  			PhynixxXAResource<T> xaresource = iterator.next();
  			xaresource.close();
  		}
  
  		this.getXATransactionalBranchRepository().close();
  	}
docs: Closes all pending XAResources and all reopen but unused connections