src/vs/workbench/api/browser/mainThreadLanguageFeatures.ts/MainThreadPasteEditProvider/provideDocumentPasteEdits
class MainThreadPasteEditProvider:	async provideDocumentPasteEdits(model: ITextModel, selections: Selection[], dataTransfer: VSDataTransfer, token: CancellationToken) {
		const request = this.dataTransfers.add(dataTransfer);
		try {
			const d = await typeConvert.DataTransfer.toDataTransferDTO(dataTransfer);
			const result = await this._proxy.$providePasteEdits(this.handle, request.id, model.uri, selections, d, token);
			if (!result) {
				return undefined;
			}

			return {
				insertText: result.insertText,
				additionalEdit: result.additionalEdit ? reviveWorkspaceEditDto(result.additionalEdit, this._uriIdentService) : undefined,
			};
		} finally {
			request.dispose();
		}
	}