boolean (PsiBuilder b, int l) { if (!recursion_guard_(b, l, "disjunction_type_element")) return false; if (!nextTokenIsFast(b, T_BOR)) return false; boolean r; Marker m = enter_section_(b, l, _LEFT_, DISJUNCTION_TYPE_ELEMENT, "<type>"); r = disjunction_type_element_part(b, l + 1); while (r) { int c = current_position_(b); if (!disjunction_type_element_part(b, l + 1)) break; if (!empty_element_parsed_guard_(b, "disjunction_type_element", c)) break; } exit_section_(b, l, m, r, false, null); return r; }