Navigation sourceNav = session.findObjectById(ObjectType.NAVIGATION, source.data.id);
//
toEvict.add(sourceNav.getObjectId());
Workspace workspace = sourceNav.getSite().getWorkspace();
PageKey reference = state.getPageRef();
if (reference != null) {
ObjectType<? extends Site> siteType = Utils.objectType(reference.getSite().getType());
Site site = workspace.getSite(siteType, reference.getSite().getName());
org.gatein.mop.api.workspace.Page target = site.getRootPage().getChild("pages").getChild(reference.getName());
PageLink link = sourceNav.linkTo(ObjectType.PAGE_LINK);
link.setPage(target);
} else {
PageLink link = sourceNav.linkTo(ObjectType.PAGE_LINK);
link.setPage(null);