public void run()
  {
    while (this.running)
    {
      this.tickCount += 1L;
      if (this.tickCount % 500L == 0L)
      {
        System.gc();
        Debug.println("gc() called, freeMemory(): " + Runtime.getRuntime().freeMemory());
      }

      this.timestamp = System.currentTimeMillis();
      tick();
      long l1 = System.currentTimeMillis();
      try
      {
        long l2 = 200L - (l1 - this.timestamp);
        if (l2 > 0L) {
          Thread.currentThread(); Thread.sleep(l2);
        }
      }
      catch (InterruptedException localInterruptedException)
      {
      }
    }
  }