void (@NotNull RunConfigurationBase<?> configuration, final SimpleJavaParameters javaParameters) { final CoverageRunner runner = getCoverageRunner(); if (runner instanceof JavaCoverageRunner javaCoverageRunner) { final String path = getCoverageFilePath(); assert path != null; // cannot be null here if runner != null String sourceMapPath = null; if (JavaCoverageEngine.isSourceMapNeeded(configuration)) { sourceMapPath = getSourceMapPath(path); } final String[] patterns = getPatterns(); final String[] excludePatterns = getExcludePatterns(); final Project project = configuration.getProject(); CoverageLogger.logStarted(javaCoverageRunner, isBranchCoverageEnabled(), isTrackPerTestCoverage(), patterns == null ? 0 : patterns.length, excludePatterns == null ? 0 : excludePatterns.length); javaCoverageRunner.appendCoverageArgument(new File(path).getAbsolutePath(), patterns, excludePatterns, javaParameters, isTrackPerTestCoverage() && isBranchCoverageEnabled(), isBranchCoverageEnabled(), sourceMapPath, project); } }