private bool HandleDropOnShapeCollection(TreeNode treeNodeMoving, TreeNode targetNode, NamedObjectSave targetNos, NamedObjectSave movingNos) { bool succeeded = true; if (movingNos.CanBeInShapeCollection() == false) { MessageBox.Show("The Object you are moving is of type " + movingNos.SourceClassType + " which cannot be contained in a ShapeCollection"); } else { succeeded = true; TreeNode parentTreeNode = treeNodeMoving.Parent; if (parentTreeNode.IsNamedObjectNode()) { NamedObjectSave parentNos = parentTreeNode.Tag as NamedObjectSave; parentNos.ContainedObjects.Remove(movingNos); } else { EditorLogic.CurrentElement.NamedObjects.Remove(movingNos); } parentTreeNode.Nodes.Remove(treeNodeMoving); targetNode.Nodes.Add(treeNodeMoving); targetNos.ContainedObjects.Add(movingNos); } return(succeeded); }