docs: def split(self, widget, orientation):
          """
          Split the the current widget in new SplittableTabWidget.
  
          :param widget: widget to split
          :param orientation: orientation of the splitter
          :return: the new splitter
          """
          if widget.original:
              base = widget.original
          else:
              base = widget
          clone = base.split()
          if not clone:
              return
          if orientation == int(QtCore.Qt.Horizontal):
              orientation = QtCore.Qt.Horizontal
          else:
              orientation = QtCore.Qt.Vertical
          self.setOrientation(orientation)
          splitter = self._make_splitter()
          splitter.show()
          self.addWidget(splitter)
          self.child_splitters.append(splitter)
          if clone not in base.clones:
              # code editors maintain the list of clones internally but some
              # other widgets (user widgets) might not.
              base.clones.append(clone)
          clone.original = base
          splitter._parent_splitter = self
          splitter.last_tab_closed.connect(self._on_last_child_tab_closed)
          splitter.tab_detached.connect(self.tab_detached.emit)
          if hasattr(base, '_icon'):
              icon = base._icon
          else:
              icon = None
          # same group of tab splitter (user might have a group for editors and
          # another group for consoles or whatever).
          splitter._uuid = self._uuid
          splitter.add_tab(clone, title=self.main_tab_widget.tabText(
              self.main_tab_widget.indexOf(widget)), icon=icon)
          self.setSizes([1 for i in range(self.count())])
          return splitter