Render the template directly from some to-be-copied
        :class:`rtcclient.workitem.Workitem` without saving to a file

        :param copied_from: the to-be-copied
            :class:`rtcclient.workitem.Workitem` id
        :param keep (default is False): If `True`, some of the below fields
            will remain unchangeable with the to-be-copied
            :class:`rtcclient.workitem.Workitem`.
            Otherwise for `False`.

                * teamArea (Team Area)
                * ownedBy (Owned By)
                * plannedFor(Planned For)
                * severity(Severity)
                * priority(Priority)
                * filedAgainst(Filed Against)
        :param encoding (default is "UTF-8"): coding format
        :param kwargs: The `kwargs` dict is used to fill the template.
            These two parameter are mandatory:

                * description
                * title

            Some of below parameters (which may not be included in some
            customized workitem type ) are mandatory if `keep` is set to
            `False`; Optional for otherwise.

                * teamArea (Team Area)
                * ownedBy (Owned By)
                * plannedFor(Planned For)
                * severity(Severity)
                * priority(Priority)
                * filedAgainst(Filed Against)

            Actually all these needed keywords/attributes/fields can be
            retrieved by
            :class:`rtcclient.template.Templater.listFieldsFromWorkitem`

        :return: the :class:`string` object
        :rtype: string

def renderFromWorkitem(self, copied_from, keep=False,
                           encoding="UTF-8", **kwargs):
        """Render the template directly from some to-be-copied
        :class:`rtcclient.workitem.Workitem` without saving to a file

        :param copied_from: the to-be-copied
            :class:`rtcclient.workitem.Workitem` id
        :param keep (default is False): If `True`, some of the below fields
            will remain unchangeable with the to-be-copied
            :class:`rtcclient.workitem.Workitem`.
            Otherwise for `False`.

                * teamArea (Team Area)
                * ownedBy (Owned By)
                * plannedFor(Planned For)
                * severity(Severity)
                * priority(Priority)
                * filedAgainst(Filed Against)
        :param encoding (default is "UTF-8"): coding format
        :param kwargs: The `kwargs` dict is used to fill the template.
            These two parameter are mandatory:

                * description
                * title

            Some of below parameters (which may not be included in some
            customized workitem type ) are mandatory if `keep` is set to
            `False`; Optional for otherwise.

                * teamArea (Team Area)
                * ownedBy (Owned By)
                * plannedFor(Planned For)
                * severity(Severity)
                * priority(Priority)
                * filedAgainst(Filed Against)

            Actually all these needed keywords/attributes/fields can be
            retrieved by
            :class:`rtcclient.template.Templater.listFieldsFromWorkitem`

        :return: the :class:`string` object
        :rtype: string
        """

        temp = jinja2.Template(self.getTemplate(copied_from,
                                                template_name=None,
                                                template_folder=None,
                                                keep=keep,
                                                encoding=encoding))
        return temp.render(**kwargs)