<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def __densify_border(self):
 """ Densify the border of a polygon. The border is densified by a given factor (by default: 0.5). The complexity of the polygon's geometry is evaluated in order to densify the borders of its interior rings as well. Returns: list: a list of points where each point is represented by a list of its reduced coordinates Example: """

        if isinstance(self._input_geom, MultiPolygon):
            polygons = [polygon for polygon in self._input_geom]
        else:
            polygons = [self._input_geom]

        points = []
        for polygon in polygons:
            if len(polygon.interiors) == 0:
                exterior = LineString(polygon.exterior)
                points += self.__fixed_interpolation(exterior)

            else:
                exterior = LineString(polygon.exterior)
                points += self.__fixed_interpolation(exterior)

                for j in range(len(polygon.interiors)):
                    interior = LineString(polygon.interiors[j])
                    points += self.__fixed_interpolation(interior)

        return points