<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def compose(self, force=False, bbox=None, **kwargs):
 """ Compose the PSD image. See :py:func:`~psd_tools.compose` for available extra arguments. :param bbox: Viewport tuple (left, top, right, bottom). :return: :py:class:`PIL.Image`, or `None` if there is no pixel. """

        from psd_tools.api.composer import compose
        image = None
        if not force or len(self) == 0:
            image = self.topil(**kwargs)
        if image is None:
            image = compose(
                self, bbox=bbox or self.viewbox, force=force, **kwargs
            )
        return image