public PftGroupStatement(PftParser.GroupStatementContext node) : base(node) { PftNonGrouped subTree = new PftNonGrouped(node.nonGrouped()); Children.Add(subTree); // TODO: просматривать также ссылки на глобальные переменные List <PftFieldReference> refs = subTree .GetDescendants <PftFieldReference>(); if (refs.Count != 0) { Field = refs[0]; Tag = Field.Field.Field; foreach (PftFieldReference fld in refs) { if (fld.Field.Field == Tag) { fld.Group = this; } } } // ѕомечаем все чувствительные элементы формата // как вход¤щие в повтор¤ющуюс¤ группу. subTree .GetDescendants <PftGroupItem>() .ForEach(item => item.Group = this); }