segments[i+dataBlockCount].setCrossCheckBlock(this, blockNumbers[i+dataBlockCount], i+dataBlockCount);
}
statusLength = dis.readInt();
if(statusLength < 0) throw new StorageFormatException("Bogus status length");
try {
CountedOutputStream cos = new CountedOutputStream(new NullOutputStream());
DataOutputStream dos = new DataOutputStream(cos);
innerStoreStatus(dos);
dos.close();
int computedStatusLength = (int) cos.written() + parent.checker.checksumLength();
if(computedStatusLength > statusLength)
throw new StorageFormatException("Stored status length smaller than required");
} catch (IOException e) {
throw new Error(e); // Impossible
}