fetcher.setSplitfileBlocks(splitfileDataBlocks + totalCrossCheckBlocks, splitfileCheckBlocks);
keyListener.finishedSetup();
if(crossCheckBlocks != 0) {
Random crossSegmentRandom = new MersenneTwister(Metadata.getCrossSegmentSeed(metadata.getHashes(), metadata.getHashThisLayerOnly()));
// Cross segment redundancy: Allocate the blocks.
crossSegments = new SplitFileFetcherCrossSegmentStorage[segments.length];
int segLen = blocksPerSegment;
int deductBlocksFromSegments = metadata.getDeductBlocksFromSegments();
for(int i=0;i<crossSegments.length;i++) {