def METHOD_NAME(self, target, args=None, kwargs=None, **options):
    """Equivalent of the :func:`apply` built-in function.
    Callbacks should optimally return as soon as possible since
    otherwise the thread which handles the result will get blocked.
    """
    kwargs = {} if not kwargs else kwargs
    args = [] if not args else args
    if self._does_debug:
        logger.debug('TaskPool: Apply %s (args:%s kwargs:%s)',
                     target, truncate(safe_repr(args), 1024),
                     truncate(safe_repr(kwargs), 1024))
    return self.on_apply(target, args, kwargs,
                         waitforslot=self.putlocks,
                         callbacks_propagate=self.callbacks_propagate,
                         **options)