public void EndSlotDragging(Slot slot, bool allowMultiple)
 {
     if (m_DraggingEdge != null && !(slot.node is AnyStateNode))
     {
         UnityEditor.Graphs.AnimationStateMachine.Node node   = m_DraggingEdge.fromSlot.node as UnityEditor.Graphs.AnimationStateMachine.Node;
         UnityEditor.Graphs.AnimationStateMachine.Node toNode = slot.node as UnityEditor.Graphs.AnimationStateMachine.Node;
         if (slot == m_DraggingEdge.fromSlot)
         {
             host.graph.RemoveEdge(m_DraggingEdge);
         }
         else
         {
             m_DraggingEdge.toSlot = slot;
             host.selection.Clear();
             host.selection.Add(node);
             Selection.activeObject = node.selectionObject;
             node.Connect(toNode, m_DraggingEdge);
         }
         m_DraggingEdge       = null;
         s_TargetDraggingSlot = null;
         Event.current.Use();
         smHost.tool.wantsMouseMove = false;
         AnimatorControllerTool.tool.RebuildGraph();
     }
 }