private void Drop(Target target, bool isShiftKeyDown)
 {
     if (target.TargetPosition == DropPosition.Floating)
     {
         Rect rect = Rect.Offset(_floatingWindowStartBounds, MouseDeltaX, MouseDeltaY);
         _source.Drop(rect);
     }
     else if (target.TargetPosition == DropPosition.Tab)
     {
         _source.Drop(target.TargetItem);
     }
     else if (target.TargetPane != null)
     {
         _source.Drop(target.TargetPane, GetDockPanePreviewPlacement(target.TargetPosition));
     }
     else if (target.TargetPosition == DropPosition.Left)
     {
         _source.Drop(Dock.Left, isShiftKeyDown);
     }
     else if (target.TargetPosition == DropPosition.Right)
     {
         _source.Drop(Dock.Right, isShiftKeyDown);
     }
     else if (target.TargetPosition == DropPosition.Top)
     {
         _source.Drop(Dock.Top, isShiftKeyDown);
     }
     else if (target.TargetPosition == DropPosition.Bottom)
     {
         _source.Drop(Dock.Bottom, isShiftKeyDown);
     }
     else if (target.TargetPosition == DropPosition.Fill)
     {
         _source.Drop();
     }
 }