docs: public void unlockSet(SIMessageHandle[] msgHandles, boolean incrementLockCount) 
     throws SISessionUnavailableException, SISessionDroppedException,
            SIConnectionUnavailableException, SIConnectionDroppedException,
            SIResourceException, SIConnectionLostException, 
            SIIncorrectCallException, SIMessageNotLockedException, 
            SIErrorException
     {
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.entry(this, tc, "unlockSet",
                                          new Object[] 
                                          {
                                             msgHandles.length + " msg ids",
                                             Boolean.valueOf(incrementLockCount)
                                          });
              
        try
        {
            closeLock.readLock().lockInterruptibly();
            
            try
            {
               checkAlreadyClosed();
               
               CommsByteBuffer request = getCommsByteBuffer();
               
               request.putShort(getConnectionObjectID());
               request.putShort(getProxyID());
               request.putSIMessageHandles(msgHandles);
               
               //Flowing incrementLockCount is only valid for faps 7, 8 and greater 9
               final int fapLevel = getConversation().getHandshakeProperties().getFapLevel();
               if(!(fapLevel < JFapChannelConstants.FAP_VERSION_7 || fapLevel == JFapChannelConstants.FAP_VERSION_9))
               {
                  request.put((byte)((incrementLockCount) ? 1: 0));
               }
               
               CommsByteBuffer reply = jfapExchange(request, 
                                                    JFapChannelConstants.SEG_UNLOCK_SET,
                                                    JFapChannelConstants.PRIORITY_MEDIUM,
                                                    true);
               
               try
               {
                  
                  short err = reply.getCommandCompletionCode(JFapChannelConstants.SEG_UNLOCK_SET_R);
                  if (err != CommsConstants.SI_NO_EXCEPTION)
                  {
                     checkFor_SISessionUnavailableException(reply, err);
                     checkFor_SISessionDroppedException(reply, err);
                     checkFor_SIConnectionUnavailableException(reply, err);
                     checkFor_SIConnectionDroppedException(reply, err);
                     checkFor_SIResourceException(reply, err);
                     checkFor_SIConnectionLostException(reply, err);
                     checkFor_SIIncorrectCallException(reply, err);
                     checkFor_SIMessageNotLockedException(reply, err);
                     checkFor_SIErrorException(reply, err);
                     defaultChecker(reply, err);
                  }
               }
               finally
               {
                  reply.release();
               }
            }
            finally
            {
               closeLock.readLock().unlock();
            }
        }
        catch (InterruptedException e)
        {
            // No FFDC Code needed
        }
        
        if (tc.isEntryEnabled()) SibTr.exit(this, tc, "unlockSet");
     }