@Override
    public Set<UUID> getUniqueUsers() throws IOException {
        try (Stream<Path> stream = Files.list(this.users.directory)) {
            return stream.filter(this.fileExtensionFilter)
                    .map(p -> p.getFileName().toString())
                    .map(s -> s.substring(0, s.length() - this.fileExtension.length()))
                    .map(Uuids::fromString)
                    .filter(Objects::nonNull)
                    .collect(Collectors.toSet());
        }
    }
Flat-file storage using Configurate {@link ConfigurationNode}s.
The data for each user/group/track is stored in a separate file.
common/src/main/java/me/lucko/luckperms/common/storage/implementation/file/SeparatedConfigurateStorage.java