@classmethod
def from_subject(cls, subject, owner):
    """Constructs a `HelpForClizeDocstring` instance and populates it with
        data from a `.Clize` instance.

        It uses the parameters' `.parser.Parameter.prepare_help` and reads
        the docstrings of functions from which the parameters originate.

        :param .Clize subject: The `.Clize` instance to document.
        :param object owner: The object of which ``subject`` is a member of,
            or `None`.

            This typically has a value if a CLI is defined as a class::

                class MyCli(object):
                    @clize.Clize
                    def cli(self, param):
                        ...

            ``owner`` would refer to an instance of ``MyCli``.
        """
    ret = cls.blank_from_signature(subject.signature)
    ret.add_from_parameters(subject.signature.parameters.values())
    ret.add_from_parameter_sources(subject)
    return ret
