src/vs/workbench/api/common/extHostNotebookConcatDocument.ts/ExtHostNotebookConcatDocument/constructor
class ExtHostNotebookConcatDocument:	constructor(
		extHostNotebooks: ExtHostNotebookDocuments,
		extHostDocuments: ExtHostDocuments,
		private readonly _notebook: vscode.NotebookDocument,
		private readonly _selector: vscode.DocumentSelector | undefined,
	) {
		this._init();

		this._disposables.add(extHostDocuments.onDidChangeDocument(e => {
			const cellIdx = this._cellUris.get(e.document.uri);
			if (cellIdx !== undefined) {
				this._cellLengths.setValue(cellIdx, this._cells[cellIdx].document.getText().length + 1);
				this._cellLines.setValue(cellIdx, this._cells[cellIdx].document.lineCount);
				this._versionId += 1;
				this._onDidChange.fire(undefined);
			}
		}));
		const documentChange = (document: vscode.NotebookDocument) => {
			if (document === this._notebook) {
				this._init();
				this._versionId += 1;
				this._onDidChange.fire(undefined);
			}
		};

		this._disposables.add(extHostNotebooks.onDidChangeNotebookDocument(e => documentChange(e.notebook)));
	}