This is the environment implementation of :meth:`BaseFont.duplicateLayer`.
        **layerName** will be a :ref:`type-string` representing a valid layer name.
        The value will have been normalized with :func:`normalizers.normalizeLayerName`
        and **layerName** will be a layer that exists in the font. **newLayerName**
        will be a :ref:`type-string` representing a valid layer name. The value will
        have been normalized with :func:`normalizers.normalizeLayerName` and
        **newLayerName** will have been tested to make sure that no layer with
        the same name exists in the font. This must return an instance of a
        :class:`BaseLayer` subclass.

        Subclasses may override this method.

def _duplicateLayer(self, layerName, newLayerName):
        """
        This is the environment implementation of :meth:`BaseFont.duplicateLayer`.
        **layerName** will be a :ref:`type-string` representing a valid layer name.
        The value will have been normalized with :func:`normalizers.normalizeLayerName`
        and **layerName** will be a layer that exists in the font. **newLayerName**
        will be a :ref:`type-string` representing a valid layer name. The value will
        have been normalized with :func:`normalizers.normalizeLayerName` and
        **newLayerName** will have been tested to make sure that no layer with
        the same name exists in the font. This must return an instance of a
        :class:`BaseLayer` subclass.

        Subclasses may override this method.
        """
        newLayer = self.getLayer(layerName).copy()
        return self.insertLayer(newLayer, newLayerName)