<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def available_deprecated(supported_name):
 """A decorator that marks a function as available, but also prints a deprecation warning. Use like @available_deprecated('my_new_method') def my_old_method(self, arg, model_name=None):
 args = compatability_shim(arg) return self.my_new_method(*args, model_name=None) To make `adapter.my_old_method` available but also print out a warning on use directing users to `my_new_method`. """

    def wrapper(func):
        func_name = func.__name__
        renamed_method(func_name, supported_name)

        @wraps(func)
        def inner(*args, **kwargs):
            warn('adapter:{}'.format(func_name))
            return func(*args, **kwargs)
        return available(inner)
    return wrapper