code: public void delist(ConnectionListener cl) throws ResourceException
     {
        if (cm.getTransactionSupport() == TransactionSupportLevel.NoTransaction)
           return;
  
        if (cl != null)
        {
           try
           {
              TransactionalConnectionManager txCM = (TransactionalConnectionManager) cm;
              Transaction tx = txCM.getTransactionIntegration().getTransactionManager().getTransaction();
  
              if (TxUtils.isUncommitted(tx))
              {
                 try
                 {
                    cl.delist();
                 }
                 finally
                 {
                    Object id = txCM.getTransactionIntegration()
                       .getTransactionSynchronizationRegistry().getTransactionKey();
  
                    Map<ManagedConnectionPool, ConnectionListener> currentMap = transactionMap.get(id);
  
                    if (currentMap != null)
                    {
                       ConnectionListener registered = currentMap.remove(cl.getManagedConnectionPool());
                       transactionMap.put(id, currentMap);
                    }
                 }
              }
           }
           catch (ResourceException re)
           {
              throw re;
           }
           catch (Exception e)
           {
              throw new ResourceException(e);
           }
        }
        else
        {
           throw new ResourceException();
        }
     }
docs: {@inheritDoc}