public boolean pressUpButton() {
	    Lib.assertTrue(!inElevator && floor < numFloors-1);

	    for (int elevator=0; elevator<numElevators; elevator++) {
		if (elevators[elevator].doorsOpen &&
		    elevators[elevator].direction == ElevatorBank.dirUp &&
		    elevators[elevator].floor == floor)
		    return false;
	    }
	    
	    manager.postEvent(ElevatorEvent.eventUpButtonPressed,
			      floor, -1, true);

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

	    return true;
	}