docs: @Override
      public ProducerSession createProducerSession(
                                                   final SIDestinationAddress destAddr,
                                                   final DestinationType destType,
                                                   final OrderingContext orderingContext, final String alternateUser)
                      throws SIConnectionDroppedException,
                      SIConnectionUnavailableException, SIConnectionLostException,
                      SILimitExceededException, SINotAuthorizedException,
                      SITemporaryDestinationNotFoundException, SIResourceException,
                      SIErrorException, SINotPossibleInCurrentConfigurationException,
                      SIIncorrectCallException {
  
          checkValid();
  
          final ProducerSession session = _delegateConnection
                          .createProducerSession(destAddr, destType, orderingContext,
                                                 alternateUser);
  
          return new SibRaProducerSession(this, session);
  
      }