human
Solve the following python programming problem given the following code:
def cache_on_arguments(* cache_on_args, **cache_on_kwargs) : 
    def _inner_cache_on_arguments(func) : 
        def _cache_decorator(obj, * args, **kwargs) : 
            the_method = obj._cache.cache_on_arguments (* cache_on_args, ** cache_on_kwargs) (func.__get__ (obj, type (obj))) 
            return the_method (* args, ** kwargs) 
def invalidate(obj, * args, **kwargs) : 
            return obj._cache.cache_on_arguments () (func).invalidate (* args, ** kwargs) 
_cache_decorator.invalidate = invalidate 
        _cache_decorator.func = func 
        _decorated_methods.append (func.__name__) 
        return _cache_decorator 
return <MASK> 
    
    Given the code above, what is a proper replacement for <MASK>?
assistant
#Here is a proper replacement for <MASK>.
def _inner_cache_on_arguments(