private void createEventsIterator(String iteratorName) {
   if (null == _eventsIterator) {
     _stateId = StateId.START_DISPATCH_EVENTS;
     _lastSuccessfulCheckpoint = null;
     _lastSuccessfulScn = null;
     resetSourceInfo();
     _eventsIterator = _buffer.acquireIterator(iteratorName);
     LOG.info("start dispatch from: " + _eventsIterator);
     setLastSuccessfulIterator(_eventsIterator);
   }
 }
  public void resetIterators() {
    if (null != _lastSuccessfulIterator) {
      setLastSuccessfulIterator(null);
      _lastSuccessfulScn = null;
      _lastSuccessfulCheckpoint = null;
    }

    if (null != _eventsIterator) {
      DbusEventBuffer eventBuffer = _eventsIterator.getEventBuffer();
      String iteratorName = _eventsIterator.getIdentifier();
      _eventsIterator.close();
      _eventsIterator = eventBuffer.acquireIterator(iteratorName);
      if (LOG.isDebugEnabled()) {
        String msg = "Reset event iterator to: " + _eventsIterator;
        DbusLogAccumulator.addLog(msg, LOG);
      }
      resetSourceInfo();
    }
  }