def __call__(func, retries=0, sleep=None, site_names=(), side_effect_free=
    False, root_folder_name='nti.dataserver'):
    """
        Runs the function given in `func` in a transaction and application local
        site manager (defaulting to the current site manager).

        :param function func: A function of zero parameters to run. If
            it has a docstring, that will be used as the transactions
            note. A transaction will be begun before this function
            executes, and committed after the function completes. This
            function may be rerun if retries are requested, so it
            should be prepared for that.

        :keyword int retries: The number of times to retry the
            transaction and execution of `func` if
            :class:`transaction.interfaces.TransientError` is raised
            when committing. Defaults to zero (so the job runs once).
            If you specify None, an implementation-specific
            number of retries will be used.

        :keyword float sleep: If not none, then the greenlet running
            this function will sleep for this long between retry
            attempts.

        :keyword site_names: DEPRECATED. Sequence of strings giving the
            virtual host names to use. If you do not provide this argument,
            then the currently installed site will be maintained when
            the transaction is run. NOTE: The implementation of this
            may maintain either the site names or the actual site
            object.

        :keyword bool side_effect_free: If true (not the default), then
            the function is assummed to have no side effects that need
            to be committed; the transaction runner is free to abort/rollback
            or commit the transaction at its leisure.

        :keyword str root_folder_name: This names the folder that can be found in the
            root of the ZODB that will serve as the starting point to look for the
            persistent named site.

        :return: The value returned by the first successful invocation of `func`.
        """
