code: Rule relationalExpressionChaining() {
  		return Sequence(
  				forLeftAssociativeBinaryExpression("exprRelational", FirstOf(String("<="), String(">="), solitarySymbol('<'), solitarySymbol('>')), shiftExpressionChaining()),
  				set(),
  				Optional(Sequence(
  						Sequence(String("instanceof"), group.basics.testLexBreak(), group.basics.optWS()),
  						group.types.type().label("type")).label("typeCt")).label("instanceof"),
  				set(actions.createInstanceOfExpression(value(), value("instanceof/typeCt/type"))));
  	}
docs: P6
  
  Technically 'instanceof' is on equal footing with the other operators, but practically speaking this doesn't hold;
  for starters, the RHS of instanceof is a Type and not an expression, and the inevitable type of an instanceof expression (boolean) is
  not compatible as LHS to *ANY* of the operators in this class, including instanceof itself. Therefore, pragmatically speaking, there can only
  be one instanceof, and it has to appear at the end of the chain.
  
  @see <a href="http://java.sun.com/docs/books/jls/third_edition/html/lexical.html#15.20">JLS section 15.20</a>