code: public <T extends Runnable> T executeSyncTimed(T runnable, long inMs) {
  		try {
  			Thread.sleep(inMs);
  			this.executeSync(runnable);
  		} catch (InterruptedException e) {
  			e.printStackTrace();
  		}
  
  		return runnable;
  	}
docs: Add a Task to the queue and wait until it's run. The Task will be executed after "inMs" milliseconds. It is guaranteed that the Runnable will be processed
  when this method returns.
  @param the runnable to be executed
  @param inMs The time after which the task should be processed
  @return the runnable, as a convenience method