@Override
	public void drop(DropTargetDropEvent event) {
		if (mDragState != null) {
			event.acceptDrop(event.getDropAction());
			mDropReceived = true;
			event.dropComplete(mDragState.drop(event));
		} else if (mAlternateDragDestination != null) {
			UIUtilities.convertPoint(event.getLocation(), this, mAlternateDragDestination);
			mAlternateDragDestination.drop(event);
		} else {
			mDropReceived = false;
			event.rejectDrop();
		}
		clearDragState();
	}