private void Push(Expression node, int depth) { while (_tests.Count > 0 && _tests.Peek().Depth == depth) { node = Expression.AndAlso(_tests.Pop().Node, node); depth++; } _tests.Push(new AndNode { Node = node, Depth = depth }); } }