public MenuItemCommand create(FrameOwner origin, MenuItem item) {
Map<String, Object> params = loadParams(item.getDescriptor(), item.getScreen());
if (StringUtils.isNotEmpty(item.getScreen())) {
return new ScreenCommand(origin, item, item.getScreen(), item.getDescriptor(), params);
}
if (StringUtils.isNotEmpty(item.getRunnableClass())) {
return new RunnableClassCommand(origin, item, item.getRunnableClass(), params);
}
if (StringUtils.isNotEmpty(item.getBean())) {
return new BeanCommand(origin, item, item.getBean(), item.getBeanMethod(), params);
}
return null;
}