/// <summary> /// Push element to the last right side ('till BTermainal<TElement> element) /// </summary> public void BranchRight(TElement element) { BPrimitive <TElement> parentRight = this; BPrimitive <TElement> nextRight = new BNode <TElement>(element); if (parentRight.RightLink is BTerminal <TElement> ) { parentRight.PushRight(nextRight); } else { while (!(parentRight.LeftLink is BTerminal <TElement>)) { parentRight = parentRight.RightLink; } nextRight = new BNode <TElement>(element); parentRight.PushLeft(nextRight); } BranchNodeLogging?.Invoke("Element brached right"); }
public override void PushRight(BPrimitive <TElement> primitive) { base.PushRight(primitive); BranchNodeLogging?.Invoke("Element brached right"); }