docs: private SIBusMessage _receiveNoWait(SITransaction tran)
        throws SISessionUnavailableException, SISessionDroppedException,
               SIConnectionUnavailableException, SIConnectionDroppedException,
               SIResourceException, SIConnectionLostException, SILimitExceededException,
               SIErrorException,
               SINotAuthorizedException,
               SIIncorrectCallException
     {
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.entry(this, tc, "_receiveNoWait");
  
        SIBusMessage mess = null;
  
  
        boolean consumeSuccessful = false;
        // If we are using a proxy queue then do a receiveNoWait on that guy instead
        if (isReadAhead)
        {
           try
           {
              // Note that we don't pass on unrecoverableReliability -
              // See my note in _registerAsyncConsumerCallback
              mess = proxyQueue.receiveNoWait(tran);
           }
           catch (MessageDecodeFailedException mdfe)
           {
              FFDCFilter.processException(mdfe, CLASS_NAME + "._receiveNoWait",
                                          CommsConstants.CONSUMERSESSIONPROXY_RCVNOWAIT_01, this);
  
              SIResourceException resourceException =
                 new SIResourceException(
                    nls.getFormattedMessage("UNABLE_TO_CREATE_JSMESSAGE_SICO1002", null, null)
                 );
  
              resourceException.initCause(mdfe);
  
              if (TraceComponent.isAnyTracingEnabled() && tc.isEventEnabled()) SibTr.event(this, tc, "receiveNoWait", resourceException);
  
              throw resourceException;
           }
        }
        else
        {
           mess = performReceive(-1, tran);
        }
  
        consumeSuccessful = true;
  
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.exit(this, tc, "_receiveNoWait");
        return mess;
     }