@SuppressWarnings("unchecked")
	// the cast is OK, since it can only be data we expect
	// package level access for Junit tests
	void processDropRequest(ProgramNode targetNode, Object data, DataFlavor chosen, int dropAction)
			throws NotFoundException, CircularDependencyException, DuplicateGroupException {

		if (chosen.equals(SelectionTransferable.localProgramSelectionFlavor)) {
			// get list of Code units
			SelectionTransferData transferData = (SelectionTransferData) data;
			AddressSetView view = transferData.getAddressSet();
			if (view.getNumAddressRanges() == 0) {
				throw new RuntimeException("Nothing to drop!");
			}

			addCodeUnits(targetNode, view); // targetNode can either
			// be a Module or a Fragment; if it is a Module,
			// then a new Fragment is created to hold the
			// code units being dropped
			return;
		}
		/// *** test flavors
		if (chosen.equals(GroupTransferable.localGroupFlavor)) {
			return;
		}
		if (chosen.equals(DataFlavor.stringFlavor)) {
			return;
		}
		//// ** end of test flavors

		// this must be TreeTransferable.localTreeNodeFlavor
		List<ProgramNode> list = (List<ProgramNode>) data;
		if (list.size() == 0) {
			throw new RuntimeException("Nothing to drop!");
		}

		ProgramNode[] dropNodes = list.toArray(new ProgramNode[list.size()]);
		dragDropManager.add(targetNode, dropNodes, dropAction, relativeMousePos);
	}
Processes a request to drop data at the targetNode.

@param targetNode Node where data is to be dropped
@param data   Data to drop onto targetNode
@param chosen the data flavor of data
@param dropAction action for the drop
@return node that was dropped if data flavor is
TreeTransferable.localTreeNodeFlavor; return null for all other
data flavors

@exception DuplicateNameException thrown if a module
already has a group with the same name
@exception NotFoundException thrown if a child is
being moved and it is not found in the targetNode module.
@exception CodeUnitBoundaryException thrown if
@exception CircularDependencyException thrown if the
targetNode module is an ancestor of the data module.
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/programtree/ProgramDnDTree.java