'For the given group object, return the group conversation window or
create and return a new group conversation window if it doesn\'t exist.
@type group: L{IGroup<interfaces.IGroup>} provider
@param group: The group whose conversation window we want to get.
@type Class: L{IConversation<interfaces.IConversation>} implementor
@param: The kind of conversation window we want. If the conversation
window for this person didn\'t already exist, create one of this type.
@type stayHidden: C{bool}
@param stayHidden: Whether or not the conversation window should stay
hidden.
@rtype: L{IGroupConversation<interfaces.IGroupConversation>} provider
@return: The group conversation window.'

def getGroupConversation(self, group, Class=GroupConversation, stayHidden=False):

    conv = self.groupConversations.get(group)
    if (not conv):
        conv = Class(group, self)
        self.groupConversations[group] = conv
    if stayHidden:
        conv.hide()
    else:
        conv.show()
    return conv
