class_docstr: Base class for a TFDS function decorator.
  
  When a decorated function is called, the method with the same name as this
  class is called on the registered loggers.
docstr: Completes wrapped function call.
  
  Metadata marks the end and the corresponding method is called on the
  registered loggers.
  
  Args:
    metadata: call metadata.
    instance: the object to which the wrapped function was bound when it was
      called.
    args: args captured during the function call.
    kwargs: kwargs captured during the function call.
docstr_tok: ["Completes","wrapped","function","call",".","Metadata","marks","the","end","and","the","corresponding","method","is","called","on","the","registered","loggers",".","Args",":","metadata",":","call","metadata",".","instance",":","the","object","to","which","the","wrapped","function","was","bound","when","it","was","called",".","args",":","args","captured","during","the","function","call",".","kwargs",":","kwargs","captured","during","the","function","call","."]
code: def _finish_call(
      self,
      metadata: call_metadata.CallMetadata,
      instance: Any,
      args: Any,
      kwargs: Any,
  ):
      """Completes wrapped function call.
  
      Metadata marks the end and the corresponding method is called on the
      registered loggers.
  
      Args:
        metadata: call metadata.
        instance: the object to which the wrapped function was bound when it was
          called.
        args: args captured during the function call.
        kwargs: kwargs captured during the function call.
      """
      metadata.mark_end()
      for logger in _get_registered_loggers():
          method_name = self.__class__.__name__
          logger_method = getattr(logger, method_name)
          logger_method = self._fill_logger_method_kwargs(
              logger_method, metadata, instance, args, kwargs
          )
          self._call_logger_method(logger_method, args, kwargs)
  
imports: import abc
  import atexit
  import collections
  import functools
  import threading
  from typing import Any, Callable, Dict, List, Optional, Tuple, TypeVar
  from absl import flags
  from tensorflow_datasets.core.logging import base_logger
  from tensorflow_datasets.core.logging import call_metadata
  from tensorflow_datasets.core.logging import logging_logger
  import wrapt
label_desc: Use image node_id 4 for calling the _FunctionDecorator obj's underlying member method code with example usage: obj._finish_call(metadata, instance, args, kwargs) without return types