'Permit ATTRIBUTES.iteritems() to return set of items that have values.
Whenever validate calls iteritems(), it is always called on ATTRIBUTES,
not on __dict__, so this override is important to ensure that functions
such as ToYAML() return the correct set of keys.
Raises:
MultipleBuiltinsSpecified: when more than one builtin is defined in a list
element.'

def __setattr__(self, key, value):

    if (key == 'builtin_name'):
        object.__setattr__(self, key, value)
    elif (not self.builtin_name):
        self.ATTRIBUTES[key] = ''
        self.builtin_name = key
        super(BuiltinHandler, self).__setattr__(key, value)
    else:
        raise appinfo_errors.MultipleBuiltinsSpecified('More    than    one    builtin    defined    in    list    element.        Each    new    builtin    should    be    prefixed    by    "-".')
