docs: public void unlockSet(SIMessageHandle[] msgHandles)
        throws SIIncorrectCallException, SIMessageNotLockedException,
               SIConnectionDroppedException, SIConnectionLostException
     {
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.entry(this, tc, "unlockSet", msgHandles);
  
        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 + ".unlockSet",
                                       CommsConstants.CONVERSATIONHELPERIMPL_12, this);
  
           if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) SibTr.debug(this, tc, e.getMessage(), e);
  
           throw e;
        }
  
        if (msgHandles == null)
        {
           // Null msg Id's are no good
           SIErrorException e = new SIErrorException(
              nls.getFormattedMessage("NULL_MESSAGE_IDS_PASSED_IN_SICO1044", null, null)
           );
  
           FFDCFilter.processException(e, CLASS_NAME + ".unlockSet",
                                       CommsConstants.CONVERSATIONHELPERIMPL_13, this);
  
           if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) SibTr.debug(this, tc, e.getMessage(), e);
  
           throw e;
        }
  
        CommsByteBuffer request = getCommsByteBuffer();
        // Connection object id
        request.putShort(connectionObjectId);
        // Consumer session id
        request.putShort(sessionId);
        // Message handles
        request.putSIMessageHandles(msgHandles);
        
        //Flowing incrementLockCount field is only valid for faps 7, 8 and greater than 9.
        //In this case we should always flow a 1 (true) so we don't change existing behaviour.
        final int fapLevel = getConversation().getHandshakeProperties().getFapLevel();
        if(!(fapLevel < JFapChannelConstants.FAP_VERSION_7 || fapLevel == JFapChannelConstants.FAP_VERSION_9))
        {
           request.put((byte)1);
        }
  
        // Pass on call to server
        jfapSend(request,
                 JFapChannelConstants.SEG_UNLOCK_SET_NOREPLY,
                 JFapChannelConstants.PRIORITY_MEDIUM,
                 true,
                 ThrottlingPolicy.BLOCK_THREAD);
  
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.exit(this, tc, "unlockSet");
     }