private synchronized long catchUp(long nextSequenceNumber) {
    JournalReader journalReader = new UfsJournalReader(this, nextSequenceNumber, true);
    try {
      return catchUp(journalReader);
    } finally {
      try {
        journalReader.close();
      } catch (IOException e) {
        LOG.warn("Failed to close journal reader: {}", e.toString());
      }
    }
  }
private synchronized long catchUp ( long nextSequenceNumber ) { JournalReader journalReader = new UfsJournalReader ( this , nextSequenceNumber , true ) ; try { return catchUp ( journalReader ) ; } finally { try { journalReader . close ( ) ; } catch ( IOException e ) { LOG . warn ( "Failed to close journal reader: {}" , e . toString ( ) ) ; } } }
Reads and applies all journal entries starting from the specified sequence number.

@param nextSequenceNumber the sequence number to continue catching up from
@return the next sequence number after the final sequence number read