code: @Override
      public void run() {
          try {
              boolean retry = true;
              while(retry && active) {
                  // Get all threads, wait for 'foreign' (== not our own threads)
                  // and when all finished, finish as well. This is in order to avoid
                  // hanging endless because the HTTP Server thread cant be set into
                  // daemon mode
                  Thread threads[] = enumerateThreads();
                  retry = joinThreads(threads);
              }
          } finally {
              // All non-daemon threads stopped ==> server can be stopped, too
              server.stop(0);
          }
      }
docs: {@inheritDoc}