class Analyzer {

    public AnalyzerResult analyze(List<String> filePaths) throws FileNotFoundException {
        if (filePaths == null || filePaths.isEmpty()) {
            return null;
        }
        List<File> files = new LinkedList<>();

        for (String filePath : filePaths) {

            File file = new File(filePath);

            if (file.exists()) {
                files.add(file);
            } else {
                throw new FileNotFoundException("File not found: " + filePath);
            }
        }

        Map<String, List<MarkerPair>> result = analyzeFiles(files);
        
        AnalyzerResult analyzerResult = new AnalyzerResult(result);

        return analyzerResult;
    }

}