src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/notebookVisibleCellObserver.ts/NotebookVisibleCellObserver/_updateVisibleCells
class NotebookVisibleCellObserver:	private _updateVisibleCells(): void {
		if (!this._notebookEditor.hasModel()) {
			return;
		}

		const newVisibleCells = cellRangesToIndexes(this._notebookEditor.visibleRanges)
			.map(index => this._notebookEditor.cellAt(index))
			.filter(isDefined);
		const newVisibleHandles = new Set(newVisibleCells.map(cell => cell.handle));
		const oldVisibleHandles = new Set(this._visibleCells.map(cell => cell.handle));
		const diff = diffSets(oldVisibleHandles, newVisibleHandles);

		const added = diff.added
			.map(handle => this._notebookEditor.getCellByHandle(handle))
			.filter(isDefined);
		const removed = diff.removed
			.map(handle => this._notebookEditor.getCellByHandle(handle))
			.filter(isDefined);

		this._visibleCells = newVisibleCells;
		this._onDidChangeVisibleCells.fire({
			added,
			removed
		});
	}