@NotNull ClassResolveInfo resolveClass(@NotNull String className) {
    ClassResolveInfo cached = myCache.get(className);
    if (cached != null && cached.isValid()) {
      return cached;
    }

    if (DumbService.isDumb(myProject)) {
      return ClassResolveInfo.EMPTY;
    }

    PsiClass[] classes = findClassesPreferringMyScope(className);
    if (classes.length == 0) {
      final int dollarIndex = className.indexOf('$');
      if (dollarIndex >= 0) {
        classes = findClassesPreferringMyScope(className.substring(0, dollarIndex));
      }
    }

    ClassResolveInfo result = ClassResolveInfo.create(myProject, classes);
    myCache.put(className, result);
    return result;
  }
@NotNull ClassResolveInfo resolveClass(@NotNull String className)