code: def _unwrap_func(cls, decorated_func):
          '''
          This unwraps a decorated func, returning the inner wrapped func.
  
          This may become unnecessary with Python 3.4's inspect.unwrap().
          '''
          if click is not None:
              # Workaround for click.command() decorator not setting
              # __wrapped__
              if isinstance(decorated_func, click.Command):
                  return cls._unwrap_func(decorated_func.callback)
  
          if hasattr(decorated_func, '__wrapped__'):
              # Recursion: unwrap more if needed
              return cls._unwrap_func(decorated_func.__wrapped__)
          else:
              # decorated_func isn't actually decorated, no more
              # unwrapping to do
              return decorated_funf _unwrap_func(cls, decorated_func):
          '''
          This unwraps a decorated func, returning the inner wrapped func.
  
          This may become unnecessary with Python 3.4's inspect.unwrap().
          '''
          if click is not None:
              # Workaround for click.command() decorator not setting
              # __wrapped__
              if isinstance(decorated_func, click.Command):
                  return cls._unwrap_func(decorated_func.callback)
  
          if hasattr(decorated_func, '__wrapped__'):
              # Recursion: unwrap more if needed
              return cls._unwrap_func(decorated_func.__wrapped__)
          else:
              # decorated_func isn't actually decorated, no more
              # unwrapping to do
              return decorated_func
docs: This unwraps a decorated func, returning the inner wrapped func.
  
          This may become unnecessary with Python 3.4's inspect.unwrap().