Creates a new layer instance for this scene.  If the optional cls \
        parameter is not supplied, then the default layer class will be \
        used when creating the layer.
        
        :param      cls     <subclass of XNodeLayer>
        
        :return     <XNodeLayer> || None

def addLayer(self, cls=None):
        """
        Creates a new layer instance for this scene.  If the optional cls \
        parameter is not supplied, then the default layer class will be \
        used when creating the layer.
        
        :param      cls     <subclass of XNodeLayer>
        
        :return     <XNodeLayer> || None
        """
        if ( not cls ):
            cls = self.defaultLayerClass()
            
        if ( not cls ):
            return None
        
        # create the new layer
        layer = cls(self)
        self._layers.append(layer)
        self.setCurrentLayer(layer)
        self.setModified()
        
        return layer