private RActionList createRActionList(ActionList actionList, IView<RComponent> view) {
if (isAccessGranted(actionList)) {
try {
pushToSecurityContext(actionList);
RActionList rActionList = new RActionList(getGuidGenerator().generateGUID());
rActionList.setName(actionList.getI18nName(this, getLocale()));
rActionList.setDescription(actionList.getI18nDescription(this, getLocale()));
rActionList.setIcon(getIconFactory().getIcon(actionList.getIcon(), getIconFactory().getTinyIconSize()));
List<RAction> actions = new ArrayList<>();
for (IDisplayableAction action : actionList.getActions()) {
if (isAccessGranted(action)) {
try {
pushToSecurityContext(action);
actions.add(getViewFactory().getActionFactory().createAction(action, this, view, getLocale()));
} finally {
restoreLastSecurityContextSnapshot();
}
}
}
rActionList.setActions(actions.toArray(new RAction[actions.size()]));
rActionList.setCollapsable(actionList.isCollapsable());
return rActionList;
} finally {
restoreLastSecurityContextSnapshot();
}
}
return null;
}