code: public SIBusMessage receiveNoWait(final SITransaction tran)
              throws SISessionDroppedException, SIConnectionDroppedException,
              SISessionUnavailableException, SIConnectionUnavailableException,
              SIConnectionLostException, SILimitExceededException,
              SINotAuthorizedException, SIResourceException, SIErrorException,
              SIIncorrectCallException {
  
          final String methodName = "receiveNoWait";
          if (TraceComponent.isAnyTracingEnabled() && TRACE.isEntryEnabled()) {
              SibTr.entry(this, TRACE, methodName, tran);
          }
  
          checkValid();
  
          final SIBusMessage message = _delegate.receiveNoWait(_parentConnection
                  .mapTransaction(tran));
  
          if (TraceComponent.isAnyTracingEnabled() && TRACE.isEntryEnabled()) {
              SibTr.exit(this, TRACE, methodName, message);
          }
          return message;
  
      }
docs: Receives a message. Checks that the session is valid. Maps the
  transaction parameter before delegating.
  
  @param tran
  the transaction to receive the message under
  @return the message or <code>null</code> if none was available
  
  @throws SISessionUnavailableException
  if the connection is not valid
  @throws SIIncorrectCallException
  if the transaction parameter is not valid given the current
  application and container transactions
  @throws SIErrorException
  if the delegation fails
  @throws SIResourceException
  if the delegation fails
  @throws SINotAuthorizedException
  if the delegation fails
  @throws SILimitExceededException
  if the delegation fails
  @throws SIConnectionLostException
  if the delegation fails
  @throws SIConnectionUnavailableException
  if the delegation fails
  @throws SIConnectionDroppedException
  if the delegation fails
  @throws SISessionDroppedException
  if the delegation fails
  @throws SIResourceException
  if the current container transaction cannot be determined