public bool Enqueue(BinOpNodePair nodePair) { if (!nodePair.IsValid()) { return(false); } for (var currentNode = _oplist.First; currentNode != null; currentNode = currentNode.Next) { if (currentNode.Value.Operator.Precedence > nodePair.Operator.Precedence) { _oplist.AddBefore(currentNode, nodePair); return(true); } } _oplist.AddLast(nodePair); return(true); }