code: def register_fetcher(data_format, data_class, function, force=False,
                       usage=None):
      
      key = (data_format, data_class)
      if key not in _FETCHERS or force:
          _FETCHERS[key] = (function, usage)
      else:
          raise IORegistryError("Fetcher for format '{0}' and class '{1}' "
                                "has already been " "defined".format(
                                    data_format, data_class))
      _update__doc__(data_class)
docs: Register a new method to EventTable.fetch() for a given format
  
      Parameters
      ----------
      data_format : `str`
          name of the format to be registered
  
      data_class : `type`
          the class that the fetcher returns
  
      function : `callable`
          the method to call from :meth:`EventTable.fetch`
  
      force : `bool`, optional
          overwrite existing registration for ``data_format`` if found,
          default: `False`