private String generateAllVolumesAsciiTable(final List<FsVolume> allVolumes) {
        return AsciiTable.builder(allVolumes)
                .withColumn(Column.of("Path", FsVolume::getPath))
                .withColumn(Column.of("Status", FsVolume::getStatus))
                .withColumn(Column.integer(
                        "Total",
                        vol -> vol.getCapacityInfo().getTotalCapacityBytes().orElse(-1)))
                .withColumn(Column.decimal(
                        "Used %",
                        vol -> vol.getCapacityInfo().getUsedCapacityPercent().orElse(-1),
                        2))
                .withColumn(Column.decimal(
                        "Free %",
                        vol -> vol.getCapacityInfo().getFreeCapacityPercent().orElse(-1),
                        2))
                .withColumn(Column.of("Is Full", vol -> vol.getCapacityInfo().isFull()))
                .build();
    }
@return An active and non-full volume selected by the configured volume selector
stroom-data/stroom-data-store-impl-fs/src/main/java/stroom/data/store/impl/fs/FsVolumeService.java