public boolean pressDownButton() {
	    Lib.assertTrue(!inElevator && floor > 0);
	    
	    for (int elevator=0; elevator<numElevators; elevator++) {
		if (elevators[elevator].doorsOpen &&
		    elevators[elevator].direction == ElevatorBank.dirDown &&
		    elevators[elevator].floor == floor)
		    return false;
	    }
	    
	    manager.postEvent(ElevatorEvent.eventDownButtonPressed,
			      floor, -1, true);

	    if (gui != null)
		gui.pressDownButton(floor);

	    return true;
	}