    public ImageIcon getIcon(Class<?> loader,String iconName) {
        if(!loadedIcons.containsKey(iconName)) {
            URL url = loader.getResource(iconName+".png");
            if(url!=null) {
                ImageIcon newIcon = new ImageIcon(url);
                loadedIcons.put(iconName, newIcon);
                return newIcon;
            } else {
                LOG.warn(I18N.getString("sif.icons.OrbisGISIcon.icon_not_found")+" : "+iconName);
                loadedIcons.put(iconName, ORBISGIS_MISSING_ICON); 
                return ORBISGIS_MISSING_ICON;
            }            
        } else {
            return loadedIcons.get(iconName);
        }
    }

    public ImageIcon getIcon(Class<?> loader,String iconName) {
        if(!loadedIcons.containsKey(iconName)) {
            String resourceName = iconName+".png";
            URL url = loader.getResource(resourceName);
            if(url!=null) {
                ImageIcon newIcon = new ImageIcon(url);
                loadedIcons.put(iconName, newIcon);
                return newIcon;
            } else {
                LOG.warn(I18N.getString("sif.icons.OrbisGISIcon.icon_not_found")+" : "+resourceName);
                loadedIcons.put(iconName, ORBISGIS_MISSING_ICON); 
                return ORBISGIS_MISSING_ICON;
            }            
        } else {
            return loadedIcons.get(iconName);
        }
    }
