@Override
    public void processNames(@NotNull Processor<? super String> nameProcessor, @NotNull FindSymbolParameters parameters) {
      if (myFastMode) {
        myFastMode = myInheritorsProvider.searchForInheritorsOfBaseClass().forEach(new Processor<>() {
          private final long start = System.currentTimeMillis();

          @Override
          public boolean process(T aClass) {
            if (System.currentTimeMillis() - start > 500 && !ApplicationManager.getApplication().isUnitTestMode()) {
              return false;
            }
            if (getTreeClassChooserDialog().getFilter().isAccepted(aClass) && aClass.getName() != null) {
              nameProcessor.process(aClass.getName());
            }
            return true;
          }
        });
      }
      if (!myFastMode) {
        for (String name : myInheritorsProvider.getNames()) {
          nameProcessor.process(name);
        }
      }
    }
@Override
    public void processNames(@NotNull Processor<? super String> nameProcessor, @NotNull FindSymbolParameters parameters)