docs: public void checkAllThreads() {
  
          // if nothing is plugged in, exit early
          if (this.monitorPlugin == null) {
              return;
          }
  
          long currentTime = 0; // lazily initialize current time
  
          try {
              for (Iterator i = this.threads_.values().iterator(); i.hasNext();) {
  
                  Worker thread = (Worker) i.next();
                  synchronized (thread) { // d204471
                      if (thread.getStartTime() > 0) {
                          if (currentTime == 0) {
                              currentTime = System.currentTimeMillis();
                          }
  
                          if (!thread.isHung && this.monitorPlugin.checkThread(thread, thread.threadNumber, currentTime - thread.getStartTime())) { // PK25446
                              thread.isHung = true;
                          }
                      }
                  }
              }
  
              this.lastThreadCheckDidntComplete = false; // D222794
          } catch (ConcurrentModificationException e) { // begin D222794
              // NOTE: we can pretty much ignore this exception ... if
              // we occasionally fail on the check, we'll be OK. So
              // we simply keep track with a flag. If two consecutive
              // checks fail, then we'll log to FFDC
              if (this.lastThreadCheckDidntComplete) {
                  // Alex Ffdc.log(e, this, this.getClass().getName(), "1181", this); //
                  // D477704.2
              }
              this.lastThreadCheckDidntComplete = true;
          } // end D222794
      }