code: boolean _close() throws SIResourceException
    {
      if (tc.isEntryEnabled()) SibTr.entry(tc, "_close");
      
      boolean closedNow = false;
      
      // Indicate that this connection is closed.
      synchronized (this)
      {
        if (!_closed)
          closedNow = true;
          
        _closed = true;    
      }
  
      // Ensure that we inform the parent consumer that this
      // bifurcated consumer is closed, so that any messages read
      // by this consumer can be unlocked.
      if (closedNow) {
        try
        {
          _consumerSession.removeBifurcatedConsumer(this);
        }
        catch (SISessionDroppedException e)
        {
    //      RMQSessionDroppedException shouldn't occur so FFDC.
          FFDCFilter.processException(
            e,
            "com.ibm.ws.sib.processor.impl.mqproxy.MQLocalization.getCursor",
            "1:280:1.27",
            this);
    
          SibTr.exception(tc, e);
    
          SIResourceException newE =
            new SIResourceException(
              nls.getFormattedMessage(
                "CONSUMER_CLOSED_ERROR_CWSIP0177",
                new Object[] { _localConsumerPoint.getConsumerManager().getDestination().getName(),
                               _localConsumerPoint.getConsumerManager().getMessageProcessor().getMessagingEngineName()},                
                null));
    
          if (tc.isEntryEnabled())
            SibTr.exit(tc, "getCursor", newE);
    
          throw newE;
        }
      }
  
      if (tc.isEntryEnabled()) SibTr.exit(tc, "_close", new Boolean(closedNow));
      
      return closedNow;   
    }
docs: Performs the actual close operation
  The _close version does not call the owning connection to
  remove this consumer. However, it does still inform
  the parent consumer that this bifurcated consumer has been
  closed down (and its messages can be unlocked).