docs: public Object next()
    {
      if (tc.isEntryEnabled()) Tr.entry(tc, "next",this);
  
      Object nextObject = null;
      _removeIterator = null;
  
      if (!_empty)
      {
        if (_singleObject != null)
        {
          nextObject = _singleObject;
          _singleObject = null;
          _empty = true;
        }
        else
        {
          try
          {
            if ((_iterator1 != null) && (_iterator1.hasNext()))
            {
              nextObject = _iterator1.next();
              _removeIterator = _iterator1;
            }
            else if ((_iterator2 != null) && (_iterator2.hasNext()))
            {
              nextObject = _iterator2.next();
              _removeIterator = _iterator2;
            }
            else
            {
              _empty = true;
            }
          }
          catch(NoSuchElementException exc)
          {
            FFDCFilter.processException(exc, "com.ibm.ws.recoverylog.spi.LogCursorImpl.next", "328", this);
            _empty = true;
          }
        }
      }
  
      // Cache a reference to this object so that the remove method
      // can determine which object will be erased
      _removeObject = nextObject;
      
      final Object preprocessedResult = preprocessResult(nextObject);
  
      if (tc.isEntryEnabled()) Tr.exit(tc, "next", preprocessedResult);
      return preprocessedResult;
    }