code: public synchronized void start()
  	{
  		pool.execute(this);
  
  		while (state == RunState.CREATED)
  		{
  			sleep(null, null);
  		}
  
  		// Log the creation here so that it is deterministic...
  
  		if (resource instanceof CPUResource)
  		{
  			CPUResource cpu = (CPUResource) resource;
  			cpu.createThread(this);
  		}
  	}
docs: /*
  (non-Javadoc)
  @see org.overture.vdmj.scheduler.ISchedulableThread#start()