@Override public void run() { LOG.debug("starting {}", getClass().getSimpleName()); List<ResourceInfo> entries = list().stream() .sorted(Comparator.comparing(ResourceInfo::getPath)) .collect(Collectors.toList()); try (PrintWriter writer = outputParameter.open()) { if (verboseParameter.isRequired()) { writer.printf("total %,d%n", entries.size()); entries.forEach(it -> { writer.printf("%s%n", it.getPath()); writer.printf(" data source: %s%n", it.getId()); writer.printf(" directory: %s%n", it.isDirectory()); }); } else { entries.forEach(it -> writer.println(it.getPath())); } } }