/// <summary>
/// Podmnka AND pouze pokrauje v nvtv lev a prav strany.
/// Je-li zadna jin binrn operace ne podporovan typy porovnvn,
/// dojde k vjimce NotSupportedException.
/// </summary>
protected override Expression VisitBinary(BinaryExpression b) {
switch (b.NodeType) {
case ExpressionType.And:
case ExpressionType.AndAlso:
// Porovnv pouze jin binrn opertory  pouijeme AND,
// nejde tedy o chybu a nejsou vedlej dopady.
this.Visit(b.Left);
this.Visit(b.Right);
// Zde konme, nepokraujeme dle ve zpracovn podmnky.
return b;
case ExpressionType.Equal:
case ExpressionType.LessThanOrEqual:
case ExpressionType.GreaterThanOrEqual:
case ExpressionType.LessThan:
case ExpressionType.GreaterThan:
	return VisitBinaryComparison(b);
default:
// NEPODPORUJEME:
// - NotEqual
// - Or
throw new NotSupportedException(string.Format(
	"Binrn opertor'{0}' nen podporovn.", b.NodeType));
}
}
