code: def _init_glyph(self, plot, mapping, properties, key):
          
          properties.pop('legend', None)
          if key == 'arrow':
              properties.pop('source')
              arrow_end = mapping.pop('arrow_end')
              arrow_start = mapping.pop('arrow_start')
              start = arrow_start(**properties) if arrow_start else None
              end = arrow_end(**properties) if arrow_end else None
              renderer = Arrow(start=start, end=end, **dict(**mapping))
              glyph = renderer
          else:
              properties = {p if p == 'source' else 'text_'+p: v
                            for p, v in properties.items()}
              renderer, glyph = super(ArrowPlot, self)._init_glyph(
                  plot, mapping, properties, 'text_1')
          plot.renderers.append(renderer)
          return renderer, glyph
docs: Returns a Bokeh glyph object.