Source:
<code>private void reportTest(Report report, Report.Test test) { FileWriter fileWriter = null; try { fileWriter = prepareOutputFile(report, test.name, ""); int it = 0; Set<String> columns = new TreeSet<String>(); <START> ArrayList<Map<String, String>> rows = new ArrayList<Map<String, String>>(); <END> for (Report.TestIteration iteration : test.getIterations()) { Statistics aggregated = null; for (Map.Entry<Integer, List<Statistics>> slaveStats : iteration.getStatistics()) { if (ignore != null && ignore.contains(slaveStats.getKey())) { continue; } if (slaveStats.getValue().size() <= 0) { continue; } Statistics nodeSummary = processRow(it, columns, rows, slaveStats); if (computeTotal) { if (aggregated == null) aggregated = nodeSummary.copy(); else aggregated.merge(nodeSummary); } } if (computeTotal && aggregated != null) { Map<String, String> rowData = new HashMap<String, String>(); rows.add(rowData); for (String operation : aggregated.getOperations()) { addRepresentations(aggregated, rowData, aggregated, operation); } columns.addAll(rowData.keySet()); rowData.put(SLAVE_INDEX, "TOTAL"); rowData.put(ITERATION, String.valueOf(it)); rowData.put(PERIOD, String.valueOf(aggregated.getEnd() - aggregated.getBegin())); rowData.put(THREAD_COUNT, String.valueOf(iteration.getThreadCount())); } ++it; } writeFile(fileWriter, columns, rows); } catch (IOException e) { log.error("Failed to create report for test " + test.name, e); } finally { if (fileWriter != null) { try { fileWriter.close(); } catch (IOException e) { log.error("Failed to close", e); } } } }</code><technical_language>Yes. ArrayList() produces a warning. Another fix this is diamond operator: 'ArrayList<Map<String, String>> rows = new ArrayList<>();'</technical_language>

Target:
private void reportTest(Report report, Report.Test test) { FileWriter fileWriter = null; try { fileWriter = prepareOutputFile(report, test.name, ""); int it = 0; Set<String> columns = new TreeSet<String>(); ArrayList<Map<String, String>> rows = new ArrayList<>(); for (Report.TestIteration iteration : test.getIterations()) { Statistics aggregated = null; for (Map.Entry<Integer, List<Statistics>> slaveStats : iteration.getStatistics()) { if (ignore != null && ignore.contains(slaveStats.getKey())) { continue; } if (slaveStats.getValue().size() <= 0) { continue; } Statistics nodeSummary = processRow(it, columns, rows, slaveStats); if (computeTotal) { if (aggregated == null) aggregated = nodeSummary.copy(); else aggregated.merge(nodeSummary); } } if (computeTotal && aggregated != null) { Map<String, String> rowData = new HashMap<String, String>(); rows.add(rowData); for (String operation : aggregated.getOperations()) { addRepresentations(aggregated, rowData, aggregated, operation); } columns.addAll(rowData.keySet()); rowData.put(SLAVE_INDEX, "TOTAL"); rowData.put(ITERATION, String.valueOf(it)); rowData.put(PERIOD, String.valueOf(aggregated.getEnd() - aggregated.getBegin())); rowData.put(THREAD_COUNT, String.valueOf(iteration.getThreadCount())); } ++it; } writeFile(fileWriter, columns, rows); } catch (IOException e) { log.error("Failed to create report for test " + test.name, e); } finally { if (fileWriter != null) { try { fileWriter.close(); } catch (IOException e) { log.error("Failed to close", e); } } } }