}    
    
  public void addModules() {
        if (elements != null) elements.clear();
        
        DcModule referencedMod;
        for (DcModule module : DcModules.getAllModules()) {
            try {
                
                if (module.isSelectableInUI() && module.isEnabled()) {
                    
                    List<ModulePanel> c = new ArrayList<ModulePanel>();
                    c.add(new ModulePanel(module, ModulePanel._ICON32));
                    
                    for (DcField field : module.getFields()) {
                        referencedMod = DcModules.getReferencedModule(field);
                        if (    referencedMod.isEnabled() &&
                            referencedMod.getIndex() != module.getIndex() && 
                                referencedMod.getType() != DcModule._TYPE_PROPERTY_MODULE &&
                                referencedMod.getType() != DcModule._TYPE_EXTERNALREFERENCE_MODULE &&
                                referencedMod.getIndex() != DcModules._CONTACTPERSON &&
                                referencedMod.getIndex() != DcModules._CONTAINER) {
                            
                            c.add(new ModulePanel(referencedMod, ModulePanel._ICON16));
                        }
                    }
                    elements.put(module.getIndex(), c);