@Override protected void finish() { final MetricsFile<PreAdapterSummaryMetrics, Integer> preAdapterSummaryMetricsFile = getMetricsFile(); final MetricsFile<PreAdapterDetailMetrics, Integer> preAdapterDetailMetricsFile = getMetricsFile(); final MetricsFile<BaitBiasSummaryMetrics, Integer> baitBiasSummaryMetricsFile = getMetricsFile(); final MetricsFile<BaitBiasDetailMetrics, Integer> baitBiasDetailMetricsFile = getMetricsFile(); for (final ArtifactCounter counter : artifactCounters.values()) { // build metrics counter.finish(); // write metrics preAdapterSummaryMetricsFile.addAllMetrics(counter.getPreAdapterSummaryMetrics()); baitBiasSummaryMetricsFile.addAllMetrics(counter.getBaitBiasSummaryMetrics()); for (final PreAdapterDetailMetrics preAdapterDetailMetrics : counter.getPreAdapterDetailMetrics()) { if (CONTEXTS_TO_PRINT.isEmpty() || CONTEXTS_TO_PRINT.contains(preAdapterDetailMetrics.CONTEXT)) { preAdapterDetailMetricsFile.addMetric(preAdapterDetailMetrics); } } for (final BaitBiasDetailMetrics baitBiasDetailMetrics : counter.getBaitBiasDetailMetrics()) { if (CONTEXTS_TO_PRINT.isEmpty() || CONTEXTS_TO_PRINT.contains(baitBiasDetailMetrics.CONTEXT)) { baitBiasDetailMetricsFile.addMetric(baitBiasDetailMetrics); } } } preAdapterDetailMetricsFile.write(preAdapterDetailsOut); preAdapterSummaryMetricsFile.write(preAdapterSummaryOut); baitBiasDetailMetricsFile.write(baitBiasDetailsOut); baitBiasSummaryMetricsFile.write(baitBiasSummaryOut); }