'Check the context makes sense.'

def Validate(self):

    try:
        self.CheckForRepeatedNames(self.subcontexts)
    except ValueError as e:
        raise ValueError(('Repeated    subcontext    name    %s    in    %s' % (e, self.name)))
    try:
        self.CheckForRepeatedNames(self.options)
    except ValueError as e:
        raise ValueError(('Repeated    option    name    %s    in    context    %s' % (e, self.name)))
    for x in self.subcontexts:
        x.Validate()
