private Set<FsVolume> getVolumeSet(final String volumeGroup, final VolumeUseStatus streamStatus) {
        final HasCapacitySelector volumeSelector = getVolumeSelector();
        final List<FsVolume> allVolumeList = getCurrentVolumes()
                .getMap()
                .getOrDefault(volumeGroup, Collections.emptyList());
        LOGGER.trace("allVolumeList {}", allVolumeList);
        final List<FsVolume> freeVolumes = FsVolumeListUtil.removeFullVolumes(allVolumeList);
        LOGGER.trace("freeVolumes {}", freeVolumes);
        final Set<FsVolume> set;

        final List<FsVolume> filteredVolumeList = getFilteredVolumeList(freeVolumes, streamStatus);
        if (!filteredVolumeList.isEmpty()) {
            final FsVolume selectedVolume = volumeSelector.select(filteredVolumeList);
            LOGGER.debug(() -> LogUtil.message("Selected volume {} ({}) out of {} eligible volumes.",
                    selectedVolume.getPath(),
                    selectedVolume.getCapacityInfo(),
                    filteredVolumeList.size()));
            if (selectedVolume == null) {
                LOGGER.warn("Selector {} returned null, this should not happen. " +
                            "all vols: {}, non-full vols: {}, non-full {} vols: 0",
                        volumeSelector.getClass().getSimpleName(),
                        allVolumeList.size(),
                        freeVolumes.size(),
                        streamStatus);
                set = Collections.emptySet();
            } else {
                set = Collections.singleton(selectedVolume);
            }
        } else {
            set = Collections.emptySet();
        }

        if (set.isEmpty()) {
            LOGGER.warn("No eligible {} volumes found, all vols: {}, non-full vols: {}, non-full {} vols: 0",
                    streamStatus,
                    allVolumeList.size(),
                    freeVolumes.size(),
                    streamStatus);

            LOGGER.debug(() -> LogUtil.message("All FS Volumes:\n{}",
                    generateAllVolumesAsciiTable(allVolumeList)));
        }

        return set;
    }
@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