docs: public void run()
      {
          Object objJobDef = null;
          while ((objJobDef = this.getNextJob()) != null)     // Get and remove next job
          { // Until end of jobs
              this.runThread(objJobDef);
          }
          synchronized (this)
          {
              giCurrentThreads--;     // This thread is going to die, decrement the thread count.
              if (giCurrentThreads == 0)
              {
                  if (m_application != null)
                      if (m_application.removeTask(null) == true)
                          m_application.free();
              }
          }
      }