type = this.inStream.ReadID();
}
LongVector unPackSizes = new LongVector();
BoolVector digestsDefined = new BoolVector();
IntVector digests = new IntVector();
if (type == Header.NID.kMainStreamsInfo) {
type = this.inStream.ReadID();
assert (type == Header.NID.kPackInfo);
this.ReadPackInfo(this.PackSizes, this.PackCRCsDefined, this.PackCRCs, 0);
type = this.inStream.ReadID();
assert (type == Header.NID.kUnPackInfo);
this.Folders = ReadUnPackInfo(dataVector);
type = this.inStream.ReadID();
assert (type == Header.NID.kSubStreamsInfo);
this.ReadSubStreamsInfo(this.Folders, this.NumUnPackStreamsVector, unPackSizes, digestsDefined, digests);
type = this.inStream.ReadID();
assert (type == Header.NID.kEnd);
this.ArchiveInfo.DataStartPosition += this.ArchiveInfo.StartPositionAfterHeader;
type = this.inStream.ReadID();
} else {
for(int i = 0; i < this.Folders.size(); i++) {
this.NumUnPackStreamsVector.add(1);
Folder folder = (Folder)this.Folders.get(i);
unPackSizes.add(folder.GetUnPackSize());
digestsDefined.add(folder.UnPackCRCDefined);
digests.add(folder.UnPackCRC);
}
}
if (type == Header.NID.kEnd)
return;