private String testDropTarget(TreePath destination, TreePath dropper) {

		//Test 1.
		if (destination == null) {
			return "Invalid drop location.";
		}

		//Test 2.
		DndTreeNode node = (DndTreeNode) destination.getLastPathComponent();
		if (! node.getAllowsChildren()) {
			return "This node does not allow children";
		}

		//Test 3.
		if (destination.equals(dropper)) {
			return "Destination cannot be same as source";
		}

		//Test 4.
		if (dropper.isDescendant(destination)) {
			return "Destination node cannot be a descendant.";
		}

		//Test 5.
		if (dropper.getParentPath().equals(destination)) {
			return "Destination node cannot be a parent.";
		}

		return null;
	}