'For the given name and account client, return an instance of a
L{IGroup<interfaces.IGroup>} provider or create and return a new instance
of a L{IGroup<interfaces.IGroup>} provider.
@type name: C{str}
@param name: The name of the group of interest.
@type client: L{IClient<interfaces.IClient>} provider
@param client: The client account of interest.
@rtype: L{IGroup<interfaces.IGroup>} provider
@return: The group with that C{name}.'

def getGroup(self, name, client):

    account = client.account
    g = self.groups.get((name, account))
    if (not g):
        g = account.getGroup(name)
        self.groups[(name, account)] = g
    return g
