docs: def retrieve_products(self, reviewer):
          """Retrieve products reviewed by a given reviewer.
  
          Args:
            reviewer: A reviewer.
  
          Returns:
            A list of products which the reviewer reviews.
  
          Raises:
            TypeError: when given reviewer isn't instance of specified reviewer
              class when this graph is constructed.
          """
          if not isinstance(reviewer, self._reviewer_cls):
              raise TypeError(
                  "Type of given reviewer isn't acceptable:", reviewer,
                  ", expected:", self._reviewer_cls)
          return list(self.graph.successors(reviewer))