public static ImageIcon getIcon(String id)
    {
        ImageIcon icon = iconMap.get(id);
        
        if (icon == null)
        {
            icon = loadImage(root + id + ".png");
            
            if (icon != null)
            {
                iconMap.put(id, icon);
            }
            else
            {
                icon = loadImage(root + path + id + ".png");
                
                if (icon != null)
                {
                    iconMap.put(id, icon);
                }
                else if (!id.equals("not_available"))
                {
                    icon = getIcon("not_available");
                }
            }
        }
        
        return icon;
    }