public void run() {
		Debug.println("PhysicsEngine.run()");
		synchronized (workQueue) {
			while (true) {
				if (workQueue.peek() == null) {
					try {
						workQueue.wait();
					} catch (InterruptedException e) {
						continue;
					}
				} else {
					int doWhat = workQueue.poll();
					switch (doWhat) {
						case 0:
							controlPanel.updateSliders();
							power = controlPanel.getPower();
							direction = -controlPanel.getDirection();
							spin = -controlPanel.getSpin();
							throwBall();
							break;
						case 1:
							resetPins();
							break;
					}
				}
			}
		}
	}