def init(self, parent):
        """ 
        Finishes initializing the editor by creating the underlying toolkit widget.
        """

        factory = self.factory
        self.notebook = VerticalNotebook(**factory.get(
            'multiple_open', 'delete', 'scrollable', 'double_click')).set(
                editor=self)
        self.control = self.notebook.create_control(parent)

        # Set up the additional 'list items changed' event handler needed for
        # a list based trait:
        self.context_object.on_trait_change(self.update_editor_item,
                                            self.extended_name + '_items?',
                                            dispatch='ui')

        # Synchronize the editor selection with the user selection:
        if factory.multiple_open:
            self.sync_value(factory.selected,
                            'selected_list',
                            'both',
                            is_list=True)
        else:
            self.sync_value(factory.selected, 'selected_item', 'both')

        self.set_tooltip()