static Color getReligionColor(String religion) {
        religion = religion.toLowerCase();
        
        Color ret = relColorCache.get(religion);
        
        if (ret == null) {
            for (GenericObject group : religions.children) {
                for (GenericObject rel : group.children) {
                    if (rel.name.equalsIgnoreCase(religion)) {
                        // found it
                        GenericList color = rel.getList("color");
                        if (color == null) {
                            System.err.println("color for " + religion + " is null");
                            return COLOR_NO_RELIGION_DEF;
                        }
                        ret = new Color(
                                Float.parseFloat(color.get(0)),
                                Float.parseFloat(color.get(1)),
                                Float.parseFloat(color.get(2))
                                );
                        relColorCache.put(religion, ret);
                        return ret;
                    }
                }
            }
            
            return COLOR_NO_RELIGION_DEF;
        }
        
        return ret;
    }