code: public void run()
      {
          try
          {
              log.info("Starting Publisher thread");
  
              while (!Thread.currentThread().isInterrupted())
              {
                  Collection<ScriptSession> sessions = serverContext.getScriptSessionsByPage("/dwr/gi/index.html");
                  ScriptProxy proxy = new ScriptProxy(sessions);
  
                  Corporation corp = corporations.getNextChangedCorporation();
                  proxy.addFunctionCall("OpenAjax.publish", "gidemo", "corporation", corp);
  
                  int timeToSleep = random.nextInt(2500);
                  Thread.sleep(timeToSleep);
              }
          }
          catch (InterruptedException ex)
          {
              // Ignore, we expect this
          }
          finally
          {
              log.info("Stopping Publisher thread");
          }
      }
docs: /* (non-Javadoc)
  @see java.lang.Runnable#run()