code: private void trySwitchingEditLog() throws IOException {
      if (shouldSwitchEditLog()) {
        curStreamFinished = true;
        if (LOG.isDebugEnabled()) {
          LOG.debug("Should switch edit log. rollImageCount=" + rollImageCount +
              ". curStreamConsumed=" + curStreamConsumed);
        }
        
        if (curStreamConsumed) {
          if (LOG.isDebugEnabled()) {
            LOG.debug("Reloading edit log ...");
          }
          openEditLog();
          rollImageCount.decrementAndGet();
        }
      }
    }
docs: Tries to switch from the previous transaction file to the new one.
  It ensures that no notifications are missed. If there is a possibility
  that the current transaction log file has more notifications to be read,
  then it will keep the current stream intact.
  
  @throws IOException if a fatal error occurred.