public static @NotNull TypeInfo parseTypeStringToTypeInfo(@NotNull CharIterator signature, @NotNull TypeInfoProvider mapping) throws ClsFormatException {
    int dimensions = parseDimensions(signature);

    TypeInfo type = parseTypeWithoutVarianceToTypeInfo(signature, mapping);
    if (type == null) throw new ClsFormatException();

    while (dimensions > 0) {
      dimensions--;
      type = type.arrayOf();
    }
    return type;
  }
public static @NotNull TypeInfo parseTypeStringToTypeInfo(@NotNull CharIterator signature, @NotNull TypeInfoProvider mapping)