<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get_requires(self, api=None, profile=None):
 """Return filtered list of Require objects in this Extension :param str api: Return Require objects with this api name or None to return all Require objects. :param str profile: Return Require objects with this profile or None to return all Require objects. :return: list of Require objects """

        out = []
        for req in self.requires:
            # Filter Remove by API
            if (req.api and not api) or (req.api and api and req.api != api):
                continue
            # Filter Remove by profile
            if ((req.profile and not profile) or
               (req.profile and profile and req.profile != profile)):
                continue
            out.append(req)
        return out