code: @Override
      public SIBusMessage[] processMsgSet(SIMessageHandle[] msgHandles,
                                          TransactionCommon transaction,
                                          BifurcatedConsumerSessionImpl owner,
                                          boolean unlock,
                                          boolean delete,
                                          boolean read,
                                          boolean incrementLockCount)
  
                      throws SISessionUnavailableException, SIMPMessageNotLockedException, SIConnectionLostException, SIIncorrectCallException, SIResourceException, SIErrorException
      {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.entry(tc, "processMsgSet",
                          new Object[] { this,
                                        SIMPUtils.messageHandleArrayToString(msgHandles),
                                        transaction,
                                        owner,
                                        Boolean.valueOf(unlock),
                                        Boolean.valueOf(delete),
                                        Boolean.valueOf(read) });
  
          // Do a dirty read of the (volatile) closed/closing states to avoid the synch block if poss
          if (_closed || _closing)
          {
              this.lock();
              try
              {
                  checkNotClosed();
              } finally
              {
                  this.unlock();
              }
          }
  
          int numMsgs = 0;
          SIBusMessage messages[] = null;
  
          if (msgHandles != null && msgHandles.length > 0)
              numMsgs = msgHandles.length;
  
          if (numMsgs > 0)
          {
              // Actually process the message Ids
              messages = _allLockedMessages.processMsgSet(msgHandles, transaction, owner, unlock, delete, read, incrementLockCount);
          }
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.exit(tc, "processMsgSet", messages);
  
          return messages;
      }
docs: Unlock/delete/read a set of locked messages based on their short ID (which
  is unique to this LCP). Warning: The array must have at least one entry!
  
  @param msgIds