src/vs/workbench/api/browser/mainThreadLanguageFeatures.ts/MainThreadDocumentOnDropEditProvider/provideDocumentOnDropEdits
class MainThreadDocumentOnDropEditProvider:	async provideDocumentOnDropEdits(model: ITextModel, position: IPosition, dataTransfer: VSDataTransfer, token: CancellationToken): Promise<languages.DocumentOnDropEdit | null | undefined> {
		const request = this.dataTransfers.add(dataTransfer);
		try {
			const dataTransferDto = await typeConvert.DataTransfer.toDataTransferDTO(dataTransfer);
			const edit = await this._proxy.$provideDocumentOnDropEdits(this.handle, request.id, model.uri, position, dataTransferDto, token);
			if (!edit) {
				return undefined;
			}
			return {
				insertText: edit.insertText,
				additionalEdit: reviveWorkspaceEditDto(edit.additionalEdit, this._uriIdentService),
			};
		} finally {
			request.dispose();
		}
	}