private AggregateState createAggregate(final FeedKey feedKey,
                                           final AggregatorConfig aggregatorConfig) {
        try {
            // Make a dir name.
            final String dirName = DirUtil.makeSafeName(feedKey);

            // Get or create the aggregate dir.
            final Path aggregateDir = aggregatingDir.resolve(dirName);
            LOGGER.debug(() -> "Creating aggregate: " + FileUtil.getCanonicalPath(aggregateDir));

            // Ensure the dir exists.
            Files.createDirectories(aggregateDir);

            LOGGER.debug(() -> "Created aggregate: " + FileUtil.getCanonicalPath(aggregateDir));
            return new AggregateState(aggregatorConfig, aggregateDir);

        } catch (final IOException e) {
            LOGGER.error(e::getMessage, e);
            throw new UncheckedIOException(e);
        }
    }
Just get a single part for the entire file group.

@param fileGroup The file group to get the zip item count and total uncompressed size from.
@return A single part to add to teh current aggregate.
@throws IOException Could be throws when reading entries.
stroom-proxy/stroom-proxy-app/src/main/java/stroom/proxy/app/handler/PreAggregator.java