def METHOD_NAME(self, polygon_list, element):
    # reverse the list of polygons, we don't want to cover smaller shapes
    polygon_list = polygon_list[::-1]
    index = element.node.getparent().index(element.node)
    for polygons in polygon_list:
        if polygons[0].area < 5:
            continue
        el = copy(element.node)
        # Set fill-rule to evenodd
        style = el.get('style', ' ').split(';')
        style = [s for s in style if not s.startswith('fill-rule')]
        style.append('fill-rule:evenodd;')
        style = ';'.join(style)
        el.set('style', style)
        # update element id
        if len(polygon_list) > 1:
            node_id = self.uniqueId(el.get('id') + '_')
            el.set('id', node_id)
        # Set path
        d = ""
        for polygon in polygons:
            d += "M"
            for x, y in polygon.exterior.coords:
                d += "%s,%s " % (x, y)
                d += " "
            d += "Z"
        el.set('d', d)
        el.set('transform', get_correction_transform(element.node))
        element.node.getparent().insert(index, el)
    element.node.getparent().remove(element.node)