private void TernarOperatorSecondPart(Operator _operator) { while (!(stack.Peek() is OperatorComponent)) { OutputList.Add((IRPNElement)stack.Pop()); } var label = labelControler.NewLabelLink(); OutputList.Add(label); OutputList.Add(operatorRepo["UT"]); OperatorComponent oldComponent = (OperatorComponent)stack.Pop(); ((Label)oldComponent[1]).SetPostion(OutputList.Count /* + 1*/); OutputList.Add(oldComponent[1]); stack.Push(new OperatorComponent(oldComponent[0], label, oldComponent[1])); }