docs: private void nextButtonActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_nextButtonActionPerformed
  
          discover = new Thread() {
              @Override
              public void run() {
                  IErrorLogger errorLogger = new IErrorLogger() {
                      @Override
                      public void reportMissingClass(ClassNotFoundException ex) {
                          String className = ClassNotFoundExceptionParser.getMissingClassName(ex);
                          if (className != null) {
                              logError("Missing class: " + className);
                          } else {
                              logError("Missing class: " + ex);
                          }
                      }
  
                      @Override
                      public void reportMissingClass(ClassDescriptor classDescriptor) {
                          logError("Missing class: " + classDescriptor.toDottedClassName());
                      }
  
                      @Override
                      public void logError(String message) {
                          System.err.println("Error: " + message);
                      }
  
                      @Override
                      public void logError(String message, Throwable e) {
                          logError(message + ": " + e.getMessage());
                      }
  
                      @Override
                      public void reportSkippedAnalysis(MethodDescriptor method) {
                          logError("Skipped analysis of method " + method.toString());
                      }
                  };
  
                  DiscoverSourceDirectories.Progress progress = new DiscoverSourceDirectories.Progress() {
  
                      @Override
                      public void startRecursiveDirectorySearch() {
                          progressModel.addElement("Scanning directories...");
                      }
  
                      @Override
                      public void doneRecursiveDirectorySearch() {
                      }
  
                      @Override
                      public void startScanningArchives(int numArchivesToScan) {
                          progressModel.addElement("Scanning " + numArchivesToScan + " archives..");
                      }
  
                      @Override
                      public void doneScanningArchives() {
                      }
  
                      @Override
                      public void startScanningClasses(int numClassesToScan) {
                          progressModel.addElement("Scanning " + numClassesToScan + " classes...");
                      }
  
                      @Override
                      public void finishClass() {
                      }
  
                      @Override
                      public void doneScanningClasses() {
                      }
  
                      @Override
                      public void finishArchive() {
                      }
  
                      @Override
                      public void startArchive(String name) {
                      }
                  };
                  DiscoverSourceDirectories discoverSourceDirectories = new DiscoverSourceDirectories();
                  discoverSourceDirectories.setProject(project);
                  discoverSourceDirectories.setRootSourceDirectory(sourceRootBox.getText());
                  discoverSourceDirectories.setErrorLogger(errorLogger);
                  discoverSourceDirectories.setProgress(progress);
  
                  try {
                      discoverSourceDirectories.execute();
                  } catch (CheckedAnalysisException e1) {
                      // TODO Auto-generated catch block
                      e1.printStackTrace();
                  } catch (IOException e1) {
                      // TODO Auto-generated catch block
                      e1.printStackTrace();
                  } catch (InterruptedException e1) {
                      // TODO Auto-generated catch block
                      e1.printStackTrace();
                  }
  
                  jList1.setModel(foundModel);
  
                  for (String srcDir : discoverSourceDirectories.getDiscoveredSourceDirectoryList()) {
                      foundModel.addElement(srcDir);
                  }
  
                  if (step < MAX_STEP) {
                      setStep(step + 1);
                  }
              }
          };
          discover.start();
      }