code: public void run(Runnable runnable, Executor executor)
      {
          if (this.goForward())
          {
              for (int i = this.from; i <= this.to; i += this.step)
              {
                  executor.execute(runnable);
              }
          }
          else
          {
              for (int i = this.from; i >= this.to; i += this.step)
              {
                  executor.execute(runnable);
              }
          }
      }
docs: This method runs a runnable a specified number of times against an executor.  The method is effectively
  asynchronous because it does not wait for all of the runnables to finish.