@NotNull
  private PsiClass[] findClassesInDumbMode(
      @NotNull String qualifiedName, @NotNull GlobalSearchScope scope) {
    String packageName = StringUtil.getPackageName(qualifiedName);
    PsiJavaPackage pkg = findPackage(packageName, scope);
    String className = StringUtil.getShortName(qualifiedName);
    if (pkg == null && packageName.length() < qualifiedName.length()) {
      PsiClass[] containingClasses = findClassesInDumbMode(packageName, scope);
      if (containingClasses.length == 1) {
        return PsiElementFinder.filterByName(className, containingClasses[0].getInnerClasses());
      }

      return PsiClass.EMPTY_ARRAY;
    }

    if (pkg == null || !pkg.containsClassNamed(className)) {
      return PsiClass.EMPTY_ARRAY;
    }

    return pkg.findClassByShortName(className, scope);
  }
 @Override
 public String toString() {
   return finder.toString();
 }
 @Override
 public PsiJavaPackage findPackage(
     @NotNull String qualifiedName, @NotNull GlobalSearchScope scope) {
   // Original element finder can't search packages with scope
   return finder.findPackage(qualifiedName);
 }
 @Override
 public PsiClass findClass(@NotNull String qualifiedName, @NotNull GlobalSearchScope scope) {
   return finder.findClass(qualifiedName, scope);
 }