public AxisParentAggregate(RecordStream rs, ChartRecordAggregate container) : base(RuleName_AXISPARENT, container) { axisPraent = (AxisParentRecord)rs.GetNext(); rs.GetNext(); pos = (PosRecord)rs.GetNext(); if (ChartFormatRecord.sid != rs.PeekNextChartSid()) { try { axes = new AxesAggregate(rs, this); } catch { Debug.Print("not find axes rule records"); axes = null; } } Debug.Assert(ChartFormatRecord.sid == rs.PeekNextChartSid()); while (ChartFormatRecord.sid == rs.PeekNextChartSid()) { crtList.Add(new CRTAggregate(rs, this)); } Record r = rs.GetNext();//EndRecord Debug.Assert(r.GetType() == typeof(EndRecord)); }