@NotNull RefTypeInfo toTypeInfo(@NotNull String jvmName, boolean useGuesser) {
    ClassEntry p = myMap.get(jvmName);
    if (p != null) {
      if (p instanceof RegularClassEntry) {
        return new RefTypeInfo(((RegularClassEntry)p).myName);
      }
      if (p instanceof StringInnerClassEntry) {
        StringInnerClassEntry entry = (StringInnerClassEntry)p;
        RefTypeInfo outer = toTypeInfo(entry.myOuterName, false);
        p = new TypeInfoInnerClassEntry(outer, entry.myInnerName, entry.myStatic);
        myMap.put(jvmName, p);
      }
      assert p instanceof TypeInfoInnerClassEntry;
      return new RefTypeInfo(((TypeInfoInnerClassEntry)p).myInnerName, ((TypeInfoInnerClassEntry)p).myOuterType);
    }
    else if (jvmName.indexOf('$') >= 0 && !jvmName.equals(myTopLevelName) && (useGuesser || !myTrustInnerClasses)) {
      return StubBuildingVisitor.GUESSING_PROVIDER.toTypeInfo(jvmName);
    }
    String name = jvmName.replace('/', '.');
    myMap.put(jvmName, new RegularClassEntry(name));
    return new RefTypeInfo(name);
  }
@NotNull RefTypeInfo toTypeInfo(@NotNull String jvmName, boolean useGuesser)