Javadoc
Acquires a readlock on all chunks for this file, to make sure chunks are not deleted while
iterating on the group. This is needed to avoid an eager lock on all elements.
If no value is found in the cache, a disambiguation procedure is needed: not value
might mean both "existing, no readlocks, no deletions in progress", but also "not existent file".
The first possibility is coded as no value to avoid storing readlocks in a permanent store,
which would unnecessarily slow down and provide unwanted long term storage of the lock;
so the value is treated as one if not found, but obviously it's also not found for non-existent
or concurrently deleted files.