docs: static List<TypeArgument> parseList(final Parser parser, final String definingClassName) throws ParseException {
          if (parser.peek() == '<') {
              parser.expect('<');
              final List<TypeArgument> typeArguments = new ArrayList<>(2);
              while (parser.peek() != '>') {
                  if (!parser.hasMore()) {
                      throw new ParseException(parser, "Missing '>'");
                  }
                  typeArguments.add(parse(parser, definingClassName));
              }
              parser.expect('>');
              return typeArguments;
          } else {
              return Collections.emptyList();
          }
      }