<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def split(self, orientation=Qt.Vertical):

 """Create and attach a new EditorSplitter to the current EditorSplitter.
 
 The new EditorSplitter widget will contain an EditorStack that
 is a clone of the current EditorStack.
 
 A single EditorSplitter instance can be split multiple times, but the
 orientation will be the same for all the direct splits. If one of
 the child splits is split, then that split can have a different
 orientation.
 """

        self.setOrientation(orientation)
        self.editorstack.set_orientation(orientation)
        editorsplitter = EditorSplitter(self.parent(), self.plugin,
                    self.menu_actions,
                    register_editorstack_cb=self.register_editorstack_cb,
                    unregister_editorstack_cb=self.unregister_editorstack_cb)
        self.addWidget(editorsplitter)
        editorsplitter.destroyed.connect(lambda: self.editorsplitter_closed())
        current_editor = editorsplitter.editorstack.get_current_editor()
        if current_editor is not None:
            current_editor.setFocus()