Render given template file and return the result.

        :param template: Template file path
        :param context: A dict or dict-like object to instantiate given
            template file
        :param at_paths: Template search paths
        :param kwargs: Keyword arguments passed to the template engine to
            render templates with specific features enabled.

        :return: Rendered string

def render_impl(self, template, context, at_paths=None, **kwargs):
        """
        Render given template file and return the result.

        :param template: Template file path
        :param context: A dict or dict-like object to instantiate given
            template file
        :param at_paths: Template search paths
        :param kwargs: Keyword arguments passed to the template engine to
            render templates with specific features enabled.

        :return: Rendered string
        """
        # Override the path to pass it to tenjin.Engine.
        if at_paths is not None:
            paths = at_paths + self.engine_options.get("path", [])
            self.engine_options["path"] = paths

        engine = tenjin.Engine(**self.engine_options)
        LOGGER.warning("engine_options=%s", str(self.engine_options))

        kwargs = self.filter_options(kwargs, self.render_valid_options())
        return engine.render(template, context, **kwargs)