Source:
<code>private List<String> validateCli(ParseResult parseResult, List<File> filesToProcess) { final List<String> result = new ArrayList<>(); final boolean hasConfigurationFile = configurationFile != null; final boolean hasSuppressionLineColumnNumber = suppressionLineColumnNumber != null; if (filesToProcess.isEmpty()) { result.add("Files to process must be specified, found 0."); } else if (printAst || printAstWithComments || printJavadocTree || printTreeWithJavadoc || xpath != null) { if (suppressionLineColumnNumber != null || configurationFile != null || propertiesFile != null || outputPath != null || parseResult.hasMatchedOption(OUTPUT_FORMAT_OPTION)) { result.add("Option '-t' cannot be used with other options."); } else if (filesToProcess.size() > 1) { result.add("Printing AST is allowed for only one file."); } } else if (hasSuppressionLineColumnNumber) { if (configurationFile != null || propertiesFile != null || outputPath != null || parseResult.hasMatchedOption(OUTPUT_FORMAT_OPTION)) { result.add("Option '-s' cannot be used with other options."); } else if (filesToProcess.size() > 1) { result.add("Printing xpath suppressions is allowed for only one file."); } } else if (hasConfigurationFile) { try { CommonUtil.getUriByFilename(configurationFile); } catch (CheckstyleException ignored) { final String msg = "Could not find config XML file '%s'."; result.add(String.format(Locale.ROOT, msg, configurationFile)); } result.addAll(validateOptionalCliParameters()); <START> } <END> else { result.add("Must specify a config XML file."); } return result; }</code><technical_language>start include try/catch above? new method called validateCliWithConfigurationFile such</technical_language>

Target:
private List<String> validateCli(ParseResult parseResult, List<File> filesToProcess) { final List<String> result = new ArrayList<>(); final boolean hasConfigurationFile = configurationFile != null; final boolean hasSuppressionLineColumnNumber = suppressionLineColumnNumber != null; if (filesToProcess.isEmpty()) { result.add("Files to process must be specified, found 0."); } else if (printAst || printAstWithComments || printJavadocTree || printTreeWithJavadoc || xpath != null) { if (suppressionLineColumnNumber != null || configurationFile != null || propertiesFile != null || outputPath != null || parseResult.hasMatchedOption(OUTPUT_FORMAT_OPTION)) { result.add("Option '-t' cannot be used with other options."); } else if (filesToProcess.size() > 1) { result.add("Printing AST is allowed for only one file."); } } else if (hasSuppressionLineColumnNumber) { if (configurationFile != null || propertiesFile != null || outputPath != null || parseResult.hasMatchedOption(OUTPUT_FORMAT_OPTION)) { result.add("Option '-s' cannot be used with other options."); } else if (filesToProcess.size() > 1) { result.add("Printing xpath suppressions is allowed for only one file."); } } else if (hasConfigurationFile) { try { CommonUtil.getUriByFilename(configurationFile); } catch (CheckstyleException ignored) { final String msg = "Could not find config XML file '%s'."; result.add(String.format(Locale.ROOT, msg, configurationFile)); } result.addAll(validateOptionalCliParametersIfConfigDefined()); } else { result.add("Must specify a config XML file."); } return result; }