@Override
    public Target openTarget(final MetaProperties metaProperties, final String volumeGroup) {
        LOGGER.debug(() -> "openTarget() " + metaProperties);

        final FsVolume volume = volumeService.getVolume(volumeGroup);
        if (volume == null) {
            throw new DataException("""
                    Failed to get lock as no writable volumes. This may be because there are no active \
                    volumes configured or the active volumes (or the filesystem(s) they sit on) are full \
                    or near full.""");
        }

        // First time call (no file yet exists)
        final Meta meta = metaService.create(metaProperties);

        final DataVolume dataVolume = dataVolumeService.createDataVolume(meta.getId(), volume);
        Target target = null;
        switch (dataVolume.getVolume().getVolumeType()) {
            case STANDARD -> {
                final Path volumePath = pathCreator.toAppPath(dataVolume.getVolume().getPath());
                final String streamType = meta.getTypeName();
                final FsTarget fsTarget = FsTarget.create(metaService,
                        fileSystemStreamPathHelper,
                        meta,
                        volumePath,
                        streamType);
                // Force Creation of the files
                fsTarget.getOutputStream();
                target = fsTarget;
            }
            case S3 -> {
                return s3Store.getTarget(dataVolume, meta);
            }
        }

        return target;
    }
A file system stream store.
Stores streams in the stream store indexed by some metadata.
stroom-data/stroom-data-store-impl-fs/src/main/java/stroom/data/store/impl/fs/FsStore.java