src/vs/editor/contrib/copyPaste/browser/copyPasteController.ts/CopyPasteController/getProviderPasteEdit
class CopyPasteController:	private getProviderPasteEdit(providers: DocumentPasteEditProvider[], dataTransfer: VSDataTransfer, model: ITextModel, selections: Selection[], token: CancellationToken): Promise<DocumentPasteEdit | undefined> {
		return raceCancellation((async () => {
			for (const provider of providers) {
				if (token.isCancellationRequested) {
					return;
				}

				if (!isSupportedProvider(provider, dataTransfer)) {
					continue;
				}

				const edit = await provider.provideDocumentPasteEdits(model, selections, dataTransfer, token);
				if (edit) {
					return edit;
				}
			}
			return undefined;
		})(), token);
	}