src/vs/workbench/contrib/notebook/browser/view/output/outputRenderer.ts/OutputRenderer/render
class OutputRenderer:	render(viewModel: ICellOutputViewModel, container: HTMLElement, preferredMimeType: string | undefined, notebookUri: URI): IRenderOutput {
		if (!viewModel.model.outputs.length) {
			return this._renderMessage(container, localize('empty', "Cell has no output"));
		}
		if (!preferredMimeType) {
			const mimeTypes = viewModel.model.outputs.map(op => op.mime);
			const mimeTypesMessage = mimeTypes.join(', ');
			return this._renderMessage(container, localize('noRenderer.2', "No renderer could be found for output. It has the following MIME types: {0}", mimeTypesMessage));
		}
		if (!preferredMimeType || !this._richMimeTypeRenderers.has(preferredMimeType)) {
			if (preferredMimeType) {
				return this._renderMessage(container, localize('noRenderer.1', "No renderer could be found for MIME type: {0}", preferredMimeType));
			}
		}
		const renderer = this._richMimeTypeRenderers.get(preferredMimeType);
		if (!renderer) {
			return this._renderMessage(container, localize('noRenderer.1', "No renderer could be found for MIME type: {0}", preferredMimeType));
		}
		const first = viewModel.model.outputs.find(op => op.mime === preferredMimeType);
		if (!first) {
			return this._renderMessage(container, localize('empty', "Cell has no output"));
		}

		return renderer.render(viewModel, first, container, notebookUri);
	}