code: private void read(final ActionCollector collector) throws IOException
     {
        if (!dir.fileExists(REDO_LOG))
        {
           return;
        }
        InputStream in = new IndexInputStream(dir.openInput(REDO_LOG));
        BufferedReader reader = null;
        try
        {
           reader = new BufferedReader(new InputStreamReader(in));
           String line;
           while ((line = reader.readLine()) != null)
           {
              try
              {
                 collector.collect(MultiIndex.Action.fromString(line));
              }
              catch (IllegalArgumentException e)
              {
                 log.warn("Malformed redo entry: " + e.getMessage());
              }
           }
        }
        finally
        {
           if (reader != null)
           {
              try
              {
                 reader.close();
              }
              catch (IOException e)
              {
                 log.warn("Exception while closing redo log: " + e.toString());
              }
           }
           if (in != null)
           {
              try
              {
                 in.close();
              }
              catch (IOException e)
              {
                 log.warn("Exception while closing redo log: " + e.toString());
              }
           }
        }
     }
docs: Reads the log file and calls back {@link RedoLog.ActionCollector}.
  
  @param collector called back for each {@link MultiIndex.Action} read.
  @throws IOException if an error occurs while reading from the
  log file.