<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _handle_no_candidates(self):
 """ If we fail to find a good candidate we need to find something else. """

        # since we've not found a good candidate we're should help this
        if self.dom is not None and len(self.dom):
            dom = prep_article(self.dom)
            dom = build_base_document(dom, self._return_fragment)
            return self._remove_orphans(
                dom.get_element_by_id("readabilityBody"))
        else:
            logger.info("No document to use.")
            return build_error_document(self._return_fragment)