SplitFileSegmentKeys readSegmentKeys() throws IOException, ChecksumFailedException { SplitFileSegmentKeys keys = new SplitFileSegmentKeys(blocksForDecode(), checkBlocks, parent.splitfileSingleCryptoKey, parent.splitfileSingleCryptoAlgorithm); byte[] buf = new byte[SplitFileSegmentKeys.storedKeysLength(blocksForDecode(), checkBlocks, parent.splitfileSingleCryptoKey != null)]; parent.preadChecksummed(segmentKeyListOffset, buf, 0, buf.length); DataInputStream dis = new DataInputStream(new ByteArrayInputStream(buf)); keys.readKeys(dis, false); keys.readKeys(dis, true); return keys; }