'Get the set of I{all} domain names.
@param history: A history of nodes checked to prevent
circular hunting.
@type history: [L{Properties},..]
@return: A set of domain names.
@rtype: list'

def domains(self, history=None):

    if (history is None):
        history = []
    history.append(self)
    domains = set()
    domains.add(self.domain)
    for x in self.links:
        if (x in history):
            continue
        domains.update(x.domains(history))
    history.remove(self)
    return domains
