docs: private List advanceDoubtHorizon(List existingMsgList)
      {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.entry(this, tc, "advanceDoubtHorizon", existingMsgList);
  
          // set cursor to doubtHorizon, try to advance it, 
          // and deliver messages to clients as
          // we go along. 
          oststream.setCursor(doubtHorizon);
  
          TickRange tr = null;
          TickRange tr2 = null; //PK58188
          List msgList = null;
  
          // Add messages to list if on already exists
          if (existingMsgList != null)
              msgList = existingMsgList;
  
          while (true)
          {
              tr2 = tr; //PK58188
              tr = oststream.getNext();
              if (tr2 == tr) //PK58188
                  break; //PK58188
  
              if (tr.type == TickRange.Completed)
                  continue;
              else if (tr.type == TickRange.Value)
              {
                  try
                  {
                      // Get the message item from the stream
                      MessageItem m = (MessageItem) tr.value;
  
                      // Add to list to deliver
                      // Create the array if required
                      if (msgList == null)
                          msgList = new ArrayList();
                      msgList.add(m);
  
                  } catch (Exception e)
                  {
                      // FFDC
                      FFDCFilter.processException(
                                                  e,
                                                  "com.ibm.ws.sib.processor.gd.GuaranteedTargetStream.advanceDoubtHorizon",
                                                  "1:1368:1.110",
                                                  this);
  
                      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
                          SibTr.exit(tc, "advanceDoubtHorizon", "GDException");
                      SibTr.error(tc, "INTERNAL_MESSAGING_ERROR_CWSIP0002",
                                  new Object[] {
                                                "com.ibm.ws.sib.processor.gd.GuaranteedTargetStream",
                                                "1:1375:1.110",
                                                e });
  
                      throw new SIErrorException(
                                      nls.getFormattedMessage(
                                                              "INTERNAL_MESSAGING_ERROR_CWSIP0002",
                                                              new Object[] {
                                                                            "com.ibm.ws.sib.processor.gd.GuaranteedTargetStream",
                                                                            "1:1383:1.110",
                                                                            e },
                                                              null),
                                      e);
                  }
              }
              else // type is not Completed or Value so give up
              {
                  break;
              }
          }
  
          // Check whether the doubtHorizon got advanced
          if (tr.startstamp > doubtHorizon)
          {
              doubtHorizon = tr.startstamp;
          }
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.exit(tc, "advanceDoubtHorizon", new Object[] { doubtHorizon, msgList });
  
          return msgList;
      }