def METHOD_NAME(self, data):
    self.__init__(gen_uuid=False)  # used by __setstate__ to deserialize in place  # pylint: disable=unnecessary-dunder-call
    self.name = data.get('name')
    self.vars = data.get('vars', dict())
    self.address = data.get('address', '')
    self._uuid = data.get('uuid', None)
    self.implicit = data.get('implicit', False)
    groups = data.get('groups', [])
    for group_data in groups:
        g = Group()
        g.METHOD_NAME(group_data)
        self.groups.append(g)