public static boolean soft_type_argument_list(PsiBuilder b, int l) {
    if (!recursion_guard_(b, l, "soft_type_argument_list")) return false;
    if (!nextTokenIsFast(b, T_LT)) return false;
    boolean r;
    Marker m = enter_section_(b);
    r = consumeTokenFast(b, T_LT);
    r = r && soft_type_argument_list_item(b, l + 1);
    r = r && soft_type_argument_list_2(b, l + 1);
    r = r && type_argument_list_end(b, l + 1);
    exit_section_(b, m, TYPE_ARGUMENT_LIST, r);
    return r;
  }
public static boolean soft_type_argument_list(PsiBuilder b, int l)