src/vs/editor/common/cursor/cursor.ts/CursorsController/setStates
class CursorsController:	public setStates(eventsCollector: ViewModelEventsCollector, source: string | null | undefined, reason: CursorChangeReason, states: PartialCursorState[] | null): boolean {
		let reachedMaxCursorCount = false;
		if (states !== null && states.length > CursorsController.MAX_CURSOR_COUNT) {
			states = states.slice(0, CursorsController.MAX_CURSOR_COUNT);
			reachedMaxCursorCount = true;
		}

		const oldState = CursorModelState.from(this._model, this);

		this._cursors.setStates(states);
		this._cursors.normalize();
		this._columnSelectData = null;

		this._validateAutoClosedActions();

		return this._emitStateChangedIfNecessary(eventsCollector, source, reason, oldState, reachedMaxCursorCount);
	}