@Override
  public void handle(ActionEvent actionEvent) {
    queue.add(new BreakEvent(timer.getNextTic()));
    while (!queue.isEmpty()) {
      TimerEvent event = queue.poll();

      if (event instanceof BreakEvent) {
        moveBalls(timer.getDtAndSetTime(event.getTimestamp()));
        break;
      }

      CollisionEvent collisionEvent = (CollisionEvent) event;
      if (collisionEvent.isValid()) {
        moveBalls(timer.getDtAndSetTime(event.getTimestamp()));
        handleCollisions(collisionEvent);
      }
    }
  }