public override void ExpandTree(InteriorNode parent, SymbolsDictionary symbols, Positions positions)
{
SyntaxTreeNode node = null;
foreach (int num in this.GetResolvedSymbols(symbols))
{
if (symbols.GetParticle(num) != this.particle)
{
symbols.IsUpaEnforced = false;
}
LeafNode node2 = new LeafNode(positions.Add(num, this.particle));
if (node == null)
{
node = node2;
}
else
{
InteriorNode node3 = new ChoiceNode {
LeftChild = node,
RightChild = node2
};
node = node3;
}
}
if (parent.LeftChild == this)
{
parent.LeftChild = node;
}
else
{
parent.RightChild = node;
}
}