### Question:
LogTailScanner { protected LogTailInformation checkpointTailInformation( long highestLogVersion, LogEntryStart latestStartEntry, long oldestVersionFound, LogEntryVersion latestLogEntryVersion, CheckPoint latestCheckPoint, boolean corruptedTransactionLogs ) throws IOException { LogPosition checkPointLogPosition = latestCheckPoint.getLogPosition(); ExtractedTransactionRecord transactionRecord = extractFirstTxIdAfterPosition( checkPointLogPosition, highestLogVersion ); long firstTxIdAfterPosition = transactionRecord.getId(); boolean startRecordAfterCheckpoint = (firstTxIdAfterPosition != NO_TRANSACTION_ID) || ((latestStartEntry != null) && (latestStartEntry.getStartPosition().compareTo( latestCheckPoint.getLogPosition() ) >= 0)); boolean corruptedLogs = transactionRecord.isFailure() || corruptedTransactionLogs; return new LogTailInformation( latestCheckPoint, corruptedLogs || startRecordAfterCheckpoint, firstTxIdAfterPosition, oldestVersionFound, highestLogVersion, latestLogEntryVersion ); } LogTailScanner( LogFiles logFiles,
            LogEntryReader<ReadableClosablePositionAwareChannel> logEntryReader, Monitors monitors );  LogTailScanner( LogFiles logFiles,
            LogEntryReader<ReadableClosablePositionAwareChannel> logEntryReader, Monitors monitors,
            boolean failOnCorruptedLogFiles ); LogTailInformation getTailInformation();  }### Answer:
@Test public void bigFileLatestCheckpointFindsStartAfter() throws Throwable { long firstTxAfterCheckpoint = Integer.MAX_VALUE + 4L; LogTailScanner tailScanner = new FirstTxIdConfigurableTailScanner( firstTxAfterCheckpoint, logFiles, reader, monitors ); LogEntryStart startEntry = new LogEntryStart( 1, 2, 3L, 4L, new byte[]{5, 6}, new LogPosition( endLogVersion, Integer.MAX_VALUE + 17L ) ); CheckPoint checkPoint = new CheckPoint( new LogPosition( endLogVersion, 16L ) ); LogTailInformation logTailInformation = tailScanner.checkpointTailInformation( endLogVersion, startEntry, endLogVersion, latestLogEntryVersion, checkPoint, false); assertLatestCheckPoint( true, true, firstTxAfterCheckpoint, endLogVersion, logTailInformation ); }