'Given a mpl PathCollection instance create a Bokeh Marker glyph.'

def draw_path_collection(self, paths, path_coordinates, path_transforms, offsets, offset_coordinates, offset_order, styles, mplobj=None):

    x = offsets[:, 0]
    y = offsets[:, 1]
    style = styles
    warnings.warn('Path    marker    shapes    currently    not    handled,    defaulting    to    Circle')
    marker = Circle()
    source = ColumnDataSource()
    marker.x = source.add(x)
    marker.y = source.add(y)
    if (len(style['facecolor']) > 1):
        fill_color = []
        for color in style['facecolor']:
            fill_color.append(('#%02x%02x%02x' % convert_color(tuple(map(tuple, [color]))[0])))
        marker.fill_color = source.add(fill_color)
    else:
        marker.fill_color = convert_color(tuple(map(tuple, style['facecolor']))[0])
    if (len(style['edgecolor']) > 1):
        edge_color = []
        for color in style['edgecolor']:
            edge_color.append(('#%02x%02x%02x' % convert_color(tuple(map(tuple, [color]))[0])))
        marker.line_color = source.add(edge_color)
    else:
        marker.line_color = convert_color(tuple(map(tuple, style['edgecolor']))[0])
    if (len(style['linewidth']) > 1):
        line_width = []
        for width in style['linewidth']:
            line_width.append(width)
        marker.line_width = source.add(line_width)
    else:
        marker.line_width = style['linewidth'][0]
    if (len(mplobj.get_axes().collections) > 1):
        warnings.warn('Path    marker    sizes    support    is    limited    and    may    not    display    as    expected')
        marker.size = ((mplobj.get_sizes()[0] / mplobj.get_axes().collections[(-1)].get_sizes()[0]) * 20)
    else:
        marker.size = 5
    marker.fill_alpha = marker.line_alpha = style['alpha']
    r = self.plot.add_glyph(source, marker)
    self.zorder[r._id] = style['zorder']
    self.handles[id(mplobj)] = r
