docstr: Move an existing Dock to a new location. 
code: def moveDock(self, dock, position, neighbor):
      """
      Move an existing Dock to a new location.
      """
      ## Moving to the edge of a tabbed dock causes a drop outside the tab box
      if (
          position in ["left", "right", "top", "bottom"]
          and neighbor is not None
          and neighbor.container() is not None
          and neighbor.container().type() == "tab"
      ):
          neighbor = neighbor.container()
      self.addDock(dock, position, neighbor)
  
imports: import weakref
  from ..Qt import QtWidgets
  from .Container import Container, HContainer, TContainer, VContainer
  from .Dock import Dock
  from .DockDrop import DockDrop
label_desc: Use image node_id 4 for calling the DockArea obj's underlying member method code with example usage: obj.moveDock(dock, position, neighbor) without return types