def replace(self, **kwargs):
        """
        Return: a new :class:`AssetLocation` with specific ``kwargs`` replacing
            their corresponding values.

        Using AssetLocator's replace function results in a mismatch of __init__ args and kwargs.
            Replace tries to instantiate an AssetLocation object with AssetLocators args and kwargs.
        """
        # NOTE: Deprecation value is hard coded as True in __init__ and therefore does not need to be passed through.
        return AssetLocation(
            kwargs.pop('org', self.org),
            kwargs.pop('course', self.course),
            kwargs.pop('run', self.run),
            kwargs.pop('category', self.block_type),
            kwargs.pop('name', self.block_id),
            revision=kwargs.pop('revision', self.branch),
            **kwargs
        )
def replace ( self , ** kwargs ) : return AssetLocation ( kwargs . pop ( 'org' , self . org ) , kwargs . pop ( 'course' , self . course ) , kwargs . pop ( 'run' , self . run ) , kwargs . pop ( 'category' , self . block_type ) , kwargs . pop ( 'name' , self . block_id ) , revision = kwargs . pop ( 'revision' , self . branch ) , ** kwargs )
Return: a new :class:`AssetLocation` with specific ``kwargs`` replacing
            their corresponding values.

        Using AssetLocator's replace function results in a mismatch of __init__ args and kwargs.
            Replace tries to instantiate an AssetLocation object with AssetLocators args and kwargs.