@Override
  public void finishInitialization() {
    super.finishInitialization();

    // Setup main navigation
    ERXNavigationManager.manager().configureNavigation();
  }
  public NSKeyValueCoding navigationContext() {

    NSKeyValueCoding context = (NSKeyValueCoding) session().objectForKey("navigationContext");

    if (context().page() instanceof D2WPage) {
      context = ((D2WPage) context().page()).d2wContext();
    }

    // log.debug(ERXNavigationManager.manager().navigationStateForSession(session()));
    if (context == null) {
      context = new NSMutableDictionary<Object, String>();
      session().setObjectForKey(context, "navigationContext");
    }
    @SuppressWarnings("unused")
    ERXNavigationState state = ERXNavigationManager.manager().navigationStateForSession(session());
    // log.debug("NavigationState:" + state + "," + state.state() + "," + state.stateAsString());
    // log.info("navigationContext:" + session().objectForKey("navigationContext"));
    return context;
  }