private static void parseArgumentsList(String value, GenericType type) {
    if (value == null) {
      return;
    }

    while (value.length() > 0) {
      String typeStr = getNextType(value);
      int len = typeStr.length();
      int wildcard = switch (typeStr.charAt(0)) {
        case '*' -> WILDCARD_UNBOUND;
        case '+' -> WILDCARD_EXTENDS;
        case '-' -> WILDCARD_SUPER;
        default -> WILDCARD_NO;
      };

      type.getWildcards().add(wildcard);

      if (wildcard != WILDCARD_NO) {
        typeStr = typeStr.substring(1);
      }

      type.getArguments().add(typeStr.length() == 0 ? null : new GenericType(typeStr));

      value = value.substring(len);
    }
  }
private static void parseArgumentsList(String value, GenericType type)