@Override
    public void close() {
        if (closed) {
            throw new DataException("Source already closed");
        }

        try {
            // Close the stream target.
            try {
                if (inputStream != null) {
                    inputStream.close();
                }

                // Close off any open kids .... closing the parent
                // closes kids (the caller can also close the kid off if they like).
                childMap.forEach((k, v) -> v.close());
                childMap.clear();
            } catch (final IOException e) {
                LOGGER.error("closeStreamSource() - Error on closing stream {}", this, e);
                throw new UncheckedIOException(e);
            }

        } finally {
            closed = true;
        }
    }
Creates a new file system stream source.

@return A new file system source.
stroom-data/stroom-data-store-impl-fs/src/main/java/stroom/data/store/impl/fs/FsSource.java