//
if (!sourceNav.isAdapted(RestrictAccess.class)) {
// if RestrictAccess is not on the node yet, then it has a legacy Visible
// so, we remove the Visible and replace with a RestrictAccess
ChromatticSession chromatticSession = session.getManager().getLifeCycle().getContext().getSession();
if (sourceNav.isAdapted(Visible.class)) {
chromatticSession.remove(sourceNav.adapt(Visible.class));
}
RestrictAccess restrictAccess = chromatticSession.create(RestrictAccess.class);
chromatticSession.setEmbedded(sourceNav, RestrictAccess.class, restrictAccess);
}
//
RestrictAccess restrictAccess = sourceNav.adapt(RestrictAccess.class);
restrictAccess.setVisibility(state.getVisibility());