private void deleteDir(final Path path) {
        if (path != null) {
            if (!FileUtil.deleteDir(path)) {
                LOGGER.error("Failed to delete dir " + FileUtil.getCanonicalPath(path));
            }
        }
    }
<p>
This class deals with the reception of zip files. It will perform the following tasks:
1. Streams the zip file to disk, recording zip entries and reading meta data as it goes.
2. It tries to match all data entries to associated meta data.
3. It finds all unique feeds and checks the status for each feed. An entries file is created containing
a line for all allowed entries in the zip, which will be used by {@link ZipSplitter} to split the zips.
4. If the zip contains multiple feedKeys or is not in proper proxy zip format it passes
it to the ZipSplitter, else if passed it to the destination.
</p><p>
Along with the final zip files there will be associated meta files written to use for forwarding.
There will also be an entries file that tells us the size of each file set. The entries file has a JSON string
for each set of files in the zip. This data allows us to understand how best to aggregate this data if required.
</p>
stroom-proxy/stroom-proxy-app/src/main/java/stroom/proxy/app/handler/ZipReceiver.java