'Draw the :class:`Annotation` object to the given *renderer*.'

@allow_rasterization
def draw(self, renderer):

    if (renderer is not None):
        self._renderer = renderer
    if (not self.get_visible()):
        return
    xy_pixel = self._get_position_xy(renderer)
    if (not self._check_xy(renderer, xy_pixel)):
        return
    self._update_position_xytext(renderer, xy_pixel)
    self.update_bbox_position_size(renderer)
    if (self.arrow_patch is not None):
        if ((self.arrow_patch.figure is None) and (self.figure is not None)):
            self.arrow_patch.figure = self.figure
        self.arrow_patch.draw(renderer)
    Text.draw(self, renderer)
