@Override
	public final void run()
	{
		while(!done)
		{
			while(!paused)
			{
				step();
			}

			if(!done)
			{
				try
				{
					Thread.sleep(ThreadPool.SLEEP_TIME);
				}
				catch(InterruptedException ie)
				{
					throw new RuntimeException(ie);
				}
			}
		}
	}