   copyPaneAxis: (paneAxis) ->
     {container, orientation} = paneAxis
     new paneAxis.constructor({container, orientation, children: paneAxis.getChildren()})
-
-    # clone = atom.deserializers.deserialize(paneAxis.serialize())
-    # container = paneAxis.getContainer()
-    # clone.setContainer(container)
-    # clone.children.forEach (child) ->
-    #   child.setContainer(container)
-    #   child.setParent(clone)
 
   # [FIXME]
   # Occasionally blank pane, remain on original pane position.

    # Revert original setting
    atom.config.set('core.destroyEmptyPanes', configDestroyEmptyPanes)

  deactivate: ->
    @disposables.dispose()

  movePane: (srcPane, dstPane) ->
    for item, i in srcPane.getItems()
      srcPane.moveItemToPane item, dstPane, i

    @PaneAxis  ?= root.constructor

    if root.getOrientation() isnt orientation
      @debug "Different orientation"
      for child in root.getChildren()
        root.unsubscribeFromChild(child)

      origRoot = @copyPaneAxis root
      root     = new @PaneAxis({container, orientation, children: [origRoot]})

    newPane = new @Pane()
    switch direction
