public void AppendCondition(SearchCondition sc, string opstring) { var cond = this.FindDescendant <SearchCondition>(); this.Stack.Remove(cond); SearchConditionBrackets br1 = SearchConditionBrackets.Create(sc); SearchConditionBrackets br2 = SearchConditionBrackets.Create(cond); var op = LogicalOperator.Create(opstring); cond = SearchCondition.Create(br1, op, SearchCondition.Create(false, br2)); this.Stack.AddLast(cond); }