src/vs/workbench/browser/parts/views/treeView.ts/CustomTreeViewDragAndDrop/onDragOver
class CustomTreeViewDragAndDrop:	onDragOver(data: IDragAndDropData, targetElement: ITreeItem, targetIndex: number, originalEvent: DragEvent): boolean | ITreeDragOverReaction {
		const types: Set<string> = new Set();
		originalEvent.dataTransfer?.types.forEach((value, index) => {
			if (INTERNAL_MIME_TYPES.indexOf(value) < 0) {
				types.add(this.convertKnownMimes(value).type);
			}
		});

		this.debugLog(types);
		const dndController = this.dndController;
		if (!dndController || !originalEvent.dataTransfer || (dndController.dropMimeTypes.length === 0)) {
			return false;
		}
		const dragContainersSupportedType = Array.from(types).some((value, index) => {
			if (value === this.treeMimeType) {
				return true;
			} else {
				return dndController.dropMimeTypes.indexOf(value) >= 0;
			}
		});
		if (dragContainersSupportedType) {
			return { accept: true, bubble: TreeDragOverBubble.Down, autoExpand: true };
		}
		return false;
	}