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;
  }
  private String calculateUri(NavigateableView view) {
    String uri = "";

    while (view != null) {
      uri = "/" + view.getUriFragment() + uri;

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

    return uri;
  }