     newRoot = @copyPaneAxis(root)
     root.destroy()
     for paneAxis in @getAllAxis(newRoot)
-      # unsubscribe before copy
-      paneAxis.unsubscribeFromChild(child) for child in paneAxis.getChildren()
-
       newPaneAxis = @copyPaneAxis paneAxis
       paneAxis.parent.replaceChild paneAxis, newPaneAxis
       paneAxis.destroy()

    return list

  copyPaneAxis: (paneAxis) ->
    {container, orientation} = paneAxis
    new paneAxis.constructor({container, orientation, children: paneAxis.getChildren()})


    @Pane      ?= thisPane.constructor
    @PaneAxis  ?= root.constructor

    # parent.removeChild(thisPane, true)
    if root.getOrientation() isnt orientation
      @debug "Different orientation"
      root = new @PaneAxis({container, orientation, children: [@copyRoot(root)]})
