public boolean isValid() {
        finalCheck();
        return valid;
    }
<p>
This class is used to ensure that zip files conform to the proxy zip standard.
</p><p>
The proxy file format consists of entries of 10 numeric characters and appropriate file extensions.
The entry order will also be specific with associated entries having the order (manifest, meta, context, data).
</p><p>
Note that it is not necessary for a manifest file (.mf) to exist at all but if must be the first file if it is
present. Meta files (.meta) must come before all other file types (except .mf).
It is also not necessary for context files (.ctx) to exist (in fact they are rarely used), but if present
they must follow the meta file (.meta). Finally all entry sets must include the actual data to be valid (.dat).
</p><p>
An example zip file will look like this:
0000000001.mf
0000000001.meta
0000000001.ctx
0000000001.dat
0000000002.meta
0000000002.ctx
0000000002.dat
0000000003.meta
0000000003.dat
...
</p>
stroom-proxy/stroom-proxy-app/src/main/java/stroom/proxy/app/handler/ProxyZipValidator.java