<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def coverage(self, container: Container, *, instrument: bool = True ) -> TestSuiteCoverage: """ Computes complete test suite coverage for a given container. Parameters: container: the container for which coverage should be computed. rebuild: if set to True, the program will be rebuilt before coverage is computed. """

        uid = container.uid
        logger.info("Fetching coverage information for container: %s",
                    uid)
        uri = 'containers/{}/coverage'.format(uid)
        r = self.__api.post(uri,
                            params={'instrument': 'yes' if instrument else 'no'})
        if r.status_code == 200:
            jsn = r.json()
            coverage = TestSuiteCoverage.from_dict(jsn)  # type: ignore
            logger.info("Fetched coverage information for container: %s",
                        uid)
            return coverage
        try:
            self.__api.handle_erroneous_response(r)
        except exceptions.BugZooException as err:
            logger.exception("Failed to fetch coverage information for container %s: %s", uid, err.message)  # noqa: pycodestyle
            raise
        except Exception as err:
            logger.exception("Failed to fetch coverage information for container %s due to unexpected failure: %s", uid, err)  # noqa: pycodestyle
            raise