private void prepareModuleCards(Map<String, IViewDescriptor> moduleCards,
List<Module> modules,
IModuleViewDescriptorFactory moduleDescriptorViewFactory) {
if (modules != null) {
for (Module module : modules) {
if (module.getProjectedViewDescriptor() != null) {
moduleCards.put(module.getName(), moduleDescriptorViewFactory
.createProjectedViewDescriptor(module));
if (module instanceof BeanCollectionModule) {
BeanModule fakeBeanModule = new BeanModule();
fakeBeanModule
.setProjectedViewDescriptor(((BeanCollectionModule) module)
.getElementViewDescriptor());
fakeBeanModule
.setComponentDescriptor(((BeanCollectionModule) module)
.getElementComponentDescriptor());
moduleCards.put(module.getName() + ELEMENT_SUFFIX,
moduleDescriptorViewFactory
.createProjectedViewDescriptor(fakeBeanModule));
}
}
prepareModuleCards(moduleCards, module.getSubModules(),
moduleDescriptorViewFactory);
}
}
}
}