private void VisitAndAlso(BinaryExpression binary) { object left = null; Visit(binary.Left); object right = Pop(); if (right == null || ((bool)right)) { Visit(binary.Right); left = Pop(); } Push(Math.And(right, left)); }