public static boolean cast_expression(PsiBuilder b, int l) {
    if (!recursion_guard_(b, l, "cast_expression")) return false;
    if (!nextTokenIsSmart(b, T_LPAREN)) return false;
    boolean r;
    Marker m = enter_section_(b);
    r = cast_expression_0(b, l + 1);
    r = r && consumeTokenSmart(b, T_LPAREN);
    r = r && annotated(b, l + 1, GroovyGeneratedParser::type_element);
    r = r && consumeToken(b, T_RPAREN);
    r = r && cast_operand(b, l + 1);
    exit_section_(b, m, CAST_EXPRESSION, r);
    return r;
  }
public static boolean cast_expression(PsiBuilder b, int l)