<a id="d0e4465">Using 5.1.1 and knowing that &quot;a </a>Return Value restriction is a parenthesized
            expression composed from literals, any valid Java primitive or
            object, previously bound variables, function calls, and operators&quot; I wrote<br><br>  OperatorOrder( $code: code, $id1: elId1, $id2: elId2 )<br>  CommandCode( code == $code, operands != ( $id1!=null ? ($id2!=null ? 2 : 1) : 0 ) )<br>
<br>and got the erroneous error message:<br>   Rule Compilation error : [Rule name=&#39;operator command: invalid number of elements&#39;]<br>       appl/domain/element/Rule_operator_command__invalid_number_of_elements_0.java (9:714) : $id2 cannot be resolved<br>
<br>Variations in the return value restriction show that it is the nesting of -?-:- which causes the bug; a similar (but not equivalent) expression<br><br>   operands != ( ($id1!=null ? 1:0) + ($id2!=null ? 1:0) ) <br><br>
is accepted.<br>-W<br><br>