public override 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 methodBody = Segments[i] as MethodBody;
if (methodBody != null && methodBody.IsFat)
methodBody.StartOffset = Align((uint)methodBody.StartOffset, 4);
}
}