code: protected void rollbackOccurred() throws SISessionDroppedException, SIConnectionDroppedException, SISessionUnavailableException, SIConnectionUnavailableException, SIConnectionLostException, SIResourceException, SIErrorException {     
       if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) 
         SibTr.entry(this, tc, "rollbackOccurred");
       
       // Synchronize on the asynch lock and the synch lock, to ensure message delivery is not
       // occurring  on another thread.
       // I considered the possibility of a AB,BA deadlock here, if two asynch consumer threads
       // were to rollback from within asynch consumers concurrently and both of their transactions
       // were associated with both consumers.
       // However, this should not be possible as consumerA should not be able to enlish consumerB
       // in their transaction unless consumerB is in synchronous mode.
       // This method call is only made from within the rollback of a local transaction (no support
       // for strict redelivery ordering on a global transaction). This means we don't have to
       // worry about a rollback occurring due to an asynch transaction timeout.
       synchronized(callbackLock)
       {
         synchronized(synchLock)
         {
           // Request that the proxy queue purges all messages.
           if (proxyQueue != null) {       
             // We do not call straight into unlockAll here, as we need to allow
             // the proxy queue to perform its own locking (on the flush lock)
             proxyQueue.rollbackOccurred();
           }
         }
       }
       
       if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) 
         SibTr.exit(this, tc, "rollbackOccurred");
     }
docs: Callback from a transaction under which this consumer deleted recoverable
  messages, to inform it of a rollback (when strict redelivery ordering is enabled).
  @throws SIErrorException
  @throws SIResourceException
  @throws SIConnectionLostException
  @throws SIConnectionUnavailableException
  @throws SISessionUnavailableException
  @throws SIConnectionDroppedException
  @throws SISessionDroppedException