protected override bool InternalValidate(Program program, IRow oldRow, IRow newRow, BitArray valueFlags, string columnName, bool isDescending, bool isProposable) { if (isDescending) { bool changed = false; if (PropagateValidateLeft) { changed = LeftNode.Validate(program, oldRow, newRow, valueFlags, columnName); } if (PropagateValidateRight) { changed = RightNode.Validate(program, oldRow, newRow, valueFlags, columnName) || changed; } return(changed); } return(false); }