class LogTailScanner {

    public LogTailInformation getTailInformation() throws UnderlyingStorageException
    {
        if ( logTailInformation == null )
        {
            try
            {
                logTailInformation = findLogTail();
            }
            catch ( IOException e )
            {
                throw new UnderlyingStorageException( "Error encountered while parsing transaction logs", e );
            }
        }

        return logTailInformation;
    }

    public  LogTailScanner( LogFiles logFiles,
            LogEntryReader<ReadableClosablePositionAwareChannel> logEntryReader, Monitors monitors );
    public  LogTailScanner( LogFiles logFiles,
            LogEntryReader<ReadableClosablePositionAwareChannel> logEntryReader, Monitors monitors,
            boolean failOnCorruptedLogFiles );

}