public virtual void UpdateOffsets(BuildingContext context)
{
for (int i = 0; i < Segments.Count; i++)
{
if (i == 0)
Segments[i].StartOffset = StartOffset;
else
Segments[i].StartOffset = Segments[i - 1].StartOffset + Segments[i - 1].GetPhysicalLength();
var builder = Segments[i] as FileSegmentBuilder;
if (builder != null)
builder.UpdateOffsets(context);
}
}