@classmethod
def _check_addable(cls, obj, tagname):
    """Check if the given tagname is addable to the given obj
        """
    if tagname == cls.tagname:
        return True
    for elt in cls._choice_classes:
        if elt.tagname in obj:
            err = '%s is already defined' % elt.tagname
            if elt.tagname != tagname:
                err = "%s is defined so you can't add %s" % (elt.tagname,
                    tagname)
            raise Exception(err)
