protected override QilNode VisitAnd(QilBinary ndAnd) {
IteratorDescriptor iterParent = this.iterCurr;
Label lblOnFalse;
// Visit left branch
StartNestedIterator(ndAnd.Left);
lblOnFalse = StartConjunctiveTests(iterParent.CurrentBranchingContext, iterParent.LabelBranch);
Visit(ndAnd.Left);
EndNestedIterator(ndAnd.Left);
// Visit right branch
StartNestedIterator(ndAnd.Right);
StartLastConjunctiveTest(iterParent.CurrentBranchingContext, iterParent.LabelBranch, lblOnFalse);
Visit(ndAnd.Right);
EndNestedIterator(ndAnd.Right);
// End And expression
EndConjunctiveTests(iterParent.CurrentBranchingContext, iterParent.LabelBranch, lblOnFalse);
return ndAnd;
}