boolean (PsiBuilder b, int l) { if (!recursion_guard_(b, l, "arrayValue")) return false; if (!nextTokenIs(b, LBRACKET)) return false; boolean r; Marker m = enter_section_(b); r = consumeToken(b, LBRACKET); r = r && arrayValue_1(b, l + 1); r = r && consumeToken(b, RBRACKET); exit_section_(b, m, ARRAY_VALUE, r); return r; }