private List<Part> calculateOverflowingParts(final FileGroup fileGroup) throws IOException {
        long partItems = 0;
        long partBytes = 0;
        final List<ZipEntryGroup> partEntries = new ArrayList<>();
        // Intern the feedKeys in the entries to reduce mem use
        final FeedKeyInterner feedKeyInterner = FeedKey.createInterner();
        try (final BufferedReader bufferedReader = Files.newBufferedReader(fileGroup.getEntries())) {
            String line = bufferedReader.readLine();
            while (line != null) {
                final ZipEntryGroup zipEntryGroup = ZipEntryGroup.read(line, feedKeyInterner);
                final long totalUncompressedSize = zipEntryGroup.getTotalUncompressedSize();
                partItems++;
                partBytes += totalUncompressedSize;
                partEntries.add(zipEntryGroup);
                line = bufferedReader.readLine();
            }
        }
        return List.of(new Part(partItems, partBytes, List.copyOf(partEntries)));
    }
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