code: def _validate_cmdfinalization_callable(cls, func: Callable[[plugin.CommandFinalizationData],
                                                                 plugin.CommandFinalizationData]) -> None:
          
          cls._validate_callable_param_count(func, 1)
          signature = inspect.signature(func)
          _, param = list(signature.parameters.items())[0]
          if param.annotation != plugin.CommandFinalizationData:
              raise TypeError("{} must have one parameter declared with type "
                              "'cmd2.plugin.CommandFinalizationData'".format(func.__name__))
          if signature.return_annotation != plugin.CommandFinalizationData:
              raise TypeError("{} must declare return a return type of "
                              "'cmd2.plugin.CommandFinalizationData'".format(func.__name__))
docs: Check parameter and return types for command finalization hooks.