@Override
  public void update(GameContainer gc, int delta) throws SlickException {
    rand.nextDouble();
    if (System.currentTimeMillis() - lastUpdate > simulationDelay) {
      lastUpdate = System.currentTimeMillis();
      runSimulation();
    }

    Airplane airplaneHandle;
    Iterator<Airplane> it;
    it = airQueue.iterator();
    while (it.hasNext()) {
      airplaneHandle = it.next();

      airplaneHandle.update(delta);
    }
    it = groundQueue.iterator();
    while (it.hasNext()) {
      airplaneHandle = it.next();

      airplaneHandle.update(delta);
    }
    airplaneHandle = runway.getCurrentAirplane();
    if (airplaneHandle != null) airplaneHandle.update(delta);
  }