docs: public void sendStart(boolean restart) throws SIConnectionDroppedException, SIConnectionLostException        //471642
     {
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.entry(this, tc, "sendStart","restart="+restart);
        if (sessionId == 0)
        {
           // If the session Id = 0, then no one called setSessionId(). As such we are unable to flow
           // to the server as we do not know which session to instruct the server to use.
           SIErrorException e = new SIErrorException(
              nls.getFormattedMessage("SESSION_ID_HAS_NOT_BEEN_SET_SICO1043", null, null)
           );
  
           FFDCFilter.processException(e, CLASS_NAME + ".sendStart",
                                       CommsConstants.CONVERSATIONHELPERIMPL_03, this);
  
           if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) SibTr.debug(this, tc, e.getMessage(), e);
  
           throw e;
        }
  
        CommsByteBuffer request = getCommsByteBuffer();
        // Connection object id
        request.putShort((short) connectionObjectId);
        // Consumer session id
        request.putShort(sessionId);
  
        final HandshakeProperties handshakeProps = conversation.getHandshakeProperties();
        final short fapVersion = handshakeProps.getFapLevel();
  
        // If a restart was requested and the conversation FAP version is >= 9 then send a restart segmentId so that
        // the other end knows that it should check the consumer session state is not stopped before processing the
        // request. When a stoppable async consumer callback is in use it is possible for message processor to stop
        // the consumer session in the server but for the notification not to reach the client until after the client
        // has requested the next batch of messages. By using a restart segmentId the client can tell the comms server
        // end to check the session state before processing the request. If it turns out that message processor has
        // stopped the consumer session then the start request is ignored.
        jfapSend(request,                                                                                         //471642
                 (restart && fapVersion >= JFapChannelConstants.FAP_VERSION_9) ? JFapChannelConstants.SEG_RESTART_SESS : JFapChannelConstants.SEG_START_SESS,
                 JFapChannelConstants.PRIORITY_MEDIUM,
                 true,
                 ThrottlingPolicy.BLOCK_THREAD);
  
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.exit(this, tc, "sendStart");
     }