void (List<BuildChunkTask> tasks) { if (tasks.isEmpty()) return; ArrayList<BuildChunkTask> sorted = new ArrayList<>(tasks); sorted.sort(Comparator.comparingLong(BuildChunkTask::getScore).reversed()); if (LOG.isDebugEnabled()) { final List<BuildTargetChunk> chunksToLog = new ArrayList<>(); for (BuildChunkTask task : sorted) { chunksToLog.add(task.getChunk()); } final StringBuilder logBuilder = new StringBuilder("Queuing " + chunksToLog.size() + " chunks in parallel: "); chunksToLog.sort(Comparator.comparing(BuildTargetChunk::toString)); for (BuildTargetChunk chunk : chunksToLog) { logBuilder.append(chunk.toString()).append("; "); } LOG.debug(logBuilder.toString()); } for (BuildChunkTask task : sorted) { queueTask(task); } }