@Override
protected void internalPerform() throws AnalysisException {
final RecordingErrorListener errorListener = new RecordingErrorListener();
TimeCounterHandle timeCounterScan = PerformanceStatistics.scan.start();
try {
Scanner scanner = new Scanner(source, new CharSequenceReader(content), errorListener);
scanner.setPreserveComments(getContext().getAnalysisOptions().getPreserveComments());
tokenStream = scanner.tokenize();
lineInfo = new LineInfo(scanner.getLineStarts());
errors = errorListener.getErrorsForSource(source);
} catch (Exception exception) {