code: def _insertGlyph(self, glyph, name, **kwargs):
          
          if glyph.name is None or (name != glyph.name and glyph.name in self):
              glyph = glyph.copy()
              glyph.name = name
          dest = self.newGlyph(name, clear=kwargs.get("clear", True))
          dest.copyData(glyph)
          return dest
docs: This is the environment implementation of
          :meth:`BaseLayer.__setitem__` and :meth:`BaseFont.__setitem__`.
          This must return an instance of a :class:`BaseGlyph` subclass.
          **glyph** will be a glyph object with the attributes necessary
          for copying as defined in :meth:`BaseGlyph.copy` An environment
          must not insert **glyph** directly. Instead the data from
          **glyph** should be copied to a new glyph instead. **name**
          will be a :ref:`type-string` representing a glyph name. It
          will have been normalized with :func:`normalizers.normalizeGlyphName`.
          **name** will have been tested to make sure that no glyph with
          the same name exists in the layer.
  
          Subclasses may override this method.