private List<com.mvplite.event.Event> calculateEventsToFireList(NavigateableView view) {
    List<com.mvplite.event.Event> events = new LinkedList<com.mvplite.event.Event>();

    while (view != null) {
      events.add(0, view.getEventToShowThisView());

      if (view instanceof NavigateableSubView) view = ((NavigateableSubView) view).getParentView();
      else view = null;
    }

    return events;
  }