def _realize(self, master, element):
        """Builds a widget from xml element using master as parent."""

        data = data_xmlnode_to_dict(element, self.translator)
        cname = data['class']
        uniqueid = data['id']

        if cname not in CLASS_MAP:
            self._import_class(cname)

        if cname in CLASS_MAP:
            self._pre_process_data(data)
            parent = CLASS_MAP[cname].builder.factory(self, data)
            widget = parent.realize(master)

            self.objects[uniqueid] = parent

            xpath = "./child"
            children = element.findall(xpath)
            for child in children:
                child_xml = child.find('./object')
                child = self._realize(parent, child_xml)
                parent.add_child(child)

            parent.configure()
            parent.layout()
            return parent
        else:
            raise Exception('Class "{0}" not mapped'.format(cname))
Builds a widget from xml element using master as parent.