public void Arrange()
{
Validate();
var pairs = GetEntryImageOrderedPairs();
for (int i = 0, offset = Directory.Size; i < pairs.Length; i++)
{
var entry = pairs[i].Item1;
var image = pairs[i].Item2;
// set entry offset from current one
entry.ImageOffset = (uint)offset;
// set entry size from image size
entry.BytesInRes = (uint)image.Size;
offset += image.Size;
}
}