time = System.currentTimeMillis();
time = J3dClock.currentTimeMillis();
    public void run() {	long waitTime = -1;	long time; 	WakeupOnElapsedTime cond;	while (running) {	    runMonitor(WAIT, waitTime);	    time = System.currentTimeMillis();	    while (true) {		cond = null;		waitTime = -1;		synchronized (heap) {		    if (!heap.isEmpty()) {			waitTime = heap.getMin().triggeredTime - time;			if (waitTime <= 0) {			    cond = heap.extractMin();			}		    }		}		if (cond == null) {		    break;		} else if (cond == inputDeviceSchedCond) {		    VirtualUniverse.mc.sendRunMessage(				      J3dThread.INPUT_DEVICE_SCHEDULER);		} else if (cond == soundSchedCond) {		    VirtualUniverse.mc.sendRunMessage(				      J3dThread.SOUND_SCHEDULER);		} else {		    cond.setTriggered();		}	    }	}    }