Take a C{L{TeamsRequest}} and a list of groups
        the user is member of and create a C{L{TeamsResponse}}
        object containing the list of team names that are both
        requested and in the membership list of the user.

        @param request: The teams extension request object
        @type request: TeamsRequest

        @param teams: The list of teams the user is a member of
        @type teams: [str]

        @returns: a teams extension response object
        @rtype: TeamsResponse

def extractResponse(cls, request, teams):
        """Take a C{L{TeamsRequest}} and a list of groups
        the user is member of and create a C{L{TeamsResponse}}
        object containing the list of team names that are both
        requested and in the membership list of the user.

        @param request: The teams extension request object
        @type request: TeamsRequest

        @param teams: The list of teams the user is a member of
        @type teams: [str]

        @returns: a teams extension response object
        @rtype: TeamsResponse
        """
        self = cls()
        for team in request.requestedTeams():
            if team in teams:
                self.teams.append(team)
        return self