<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def search_phenotype( self, phenotype_association_set_id=None, phenotype_id=None, description=None, type_=None, age_of_onset=None):
 """ Returns an iterator over the Phenotypes from the server """

        request = protocol.SearchPhenotypesRequest()
        request.phenotype_association_set_id = phenotype_association_set_id
        if phenotype_id:
            request.id = phenotype_id
        if description:
            request.description = description
        if type_:
            request.type.mergeFrom(type_)
        if age_of_onset:
            request.age_of_onset = age_of_onset
        request.page_size = pb.int(self._page_size)
        return self._run_search_request(
            request, "phenotypes",
            protocol.SearchPhenotypesResponse)