boolean (PsiBuilder b, int l, Parser _item_end, Parser _element, Parser _element_start) { if (!recursion_guard_(b, l, "separated_item")) return false; boolean r, p; Marker m = enter_section_(b, l, _NONE_); r = separated_item_head(b, l + 1, _item_end, _element, separated_recovery_$(_element_start, _item_end)); p = r; // pin = 1 r = r && _item_end.parse(b, l); exit_section_(b, l, m, r, p, null); return r || p; }