docs: @Override
      public SIBusMessage receiveWithWait(SITransaction tran,
                                          Reliability unrecoverableReliability,
                                          SIDestinationAddress destAddr,
                                          DestinationType destinationType,
                                          SelectionCriteria criteria,
                                          Reliability reliability,
                                          long timeout,
                                          String alternateUser)
  
                      throws SIConnectionDroppedException,
                      SIConnectionUnavailableException,
                      SIConnectionLostException,
                      SILimitExceededException,
                      SINotAuthorizedException,
                      SIDestinationLockedException,
                      SITemporaryDestinationNotFoundException,
                      SIResourceException,
                      SIErrorException,
                      SIIncorrectCallException,
                      SINotPossibleInCurrentConfigurationException
      {
          if (TraceComponent.isAnyTracingEnabled() && CoreSPIConnection.tc.isEntryEnabled())
              SibTr.entry(
                          CoreSPIConnection.tc,
                          "receiveWithWait",
                          new Object[] {
                                        this,
                                        Long.valueOf(timeout),
                                        destAddr,
                                        alternateUser,
                                        destinationType,
                                        criteria,
                                        tran,
                                        reliability,
                                        unrecoverableReliability });
  
          if (destAddr == null)
          {
              if (TraceComponent.isAnyTracingEnabled() && CoreSPIConnection.tc.isEntryEnabled())
                  SibTr.exit(CoreSPIConnection.tc, "receiveWithWait", "SIIncorrectCallException - null destAddr");
              throw new SIIncorrectCallException(
                              nls_cwsir.getFormattedMessage(
                                                            "RECEIVE_WITH_WAIT_CWSIR0101",
                                                            null,
                                                            null));
          }
  
          SIBusMessage message = internalReceiveWithWait(tran, unrecoverableReliability, destAddr, destinationType, criteria, reliability, timeout, alternateUser, false);
  
          if (TraceComponent.isAnyTracingEnabled() && CoreSPIConnection.tc.isEntryEnabled())
              SibTr.exit(CoreSPIConnection.tc, "receiveWithWait", message);
  
          return message;
      }