@Override
public RAction createAction(IAction action, Dimension dimension,
IActionHandler actionHandler, IView<RComponent> view, Locale locale) {
if (action == null) {
return null;
}
Dimension d = dimension;
if (d == null) {
d = getIconFactory().getTinyIconSize();
}
RAction remoteAction = createRAction(action, d, actionHandler, view, locale);
if (action instanceof IDisplayableAction) {
attachActionGates((IDisplayableAction) action, actionHandler, view,
remoteAction);
}
if (action instanceof IStylable) {
remoteAction.setStyleName(((IStylable) action).getStyleName());
}
return remoteAction;
}