protected void paintProvince(final Graphics2D g, int provId) {
        final String religion = mapPanel.getModel().getHistString(provId, "religion");
        
        if (religion == null) {
            mapPanel.paintProvince(g, provId, Utilities.COLOR_NO_HIST);
        } else if (religion.length() == 0 || religion.equalsIgnoreCase("none")) {
            mapPanel.paintProvince(g, provId, Utilities.COLOR_NO_RELIGION);
        } else {
            final String owner = mapPanel.getModel().getHistString(provId, "owner");
            final String ownerRel = (Utilities.isNotACountry(owner) ? null : mapPanel.getModel().getHistString(owner, "religion"));
            
            if (ownerRel == null || religion.equalsIgnoreCase(ownerRel)) {
                mapPanel.paintProvince(g, provId, Utilities.getReligionColor(religion));
            } else {
                final Paint p = Utilities.createPaint(Utilities.getReligionColor(religion), Utilities.getReligionColor(ownerRel));
//                if (p != null)
                    mapPanel.paintProvince(g, provId, p);
//                else
//                    System.err.println("Unknown problem in ReligionMode.java");
            }
        }
    }