src/vs/workbench/api/common/extHostTypes.ts/WorkspaceEdit/replaceNotebookCells
class WorkspaceEdit:	replaceNotebookCells(uri: URI, startOrRange: number | vscode.NotebookRange, endOrCells: number | vscode.NotebookCellData[], cellsOrMetadata?: vscode.NotebookCellData[] | vscode.WorkspaceEditEntryMetadata, metadata?: vscode.WorkspaceEditEntryMetadata): void {
		let start: number | undefined;
		let end: number | undefined;
		let cellData: vscode.NotebookCellData[] = [];
		let workspaceEditMetadata: vscode.WorkspaceEditEntryMetadata | undefined;

		if (NotebookRange.isNotebookRange(startOrRange) && NotebookCellData.isNotebookCellDataArray(endOrCells) && !NotebookCellData.isNotebookCellDataArray(cellsOrMetadata)) {
			start = startOrRange.start;
			end = startOrRange.end;
			cellData = endOrCells;
			workspaceEditMetadata = cellsOrMetadata;
		} else if (typeof startOrRange === 'number' && typeof endOrCells === 'number' && NotebookCellData.isNotebookCellDataArray(cellsOrMetadata)) {
			start = startOrRange;
			end = endOrCells;
			cellData = cellsOrMetadata;
			workspaceEditMetadata = metadata;
		}

		if (start === undefined || end === undefined) {
			throw new Error('Invalid arguments');
		}

		if (start !== end || cellData.length > 0) {
			this._edits.push({ _type: FileEditType.CellReplace, uri, index: start, count: end - start, cells: cellData, metadata: workspaceEditMetadata });
		}
	}