src/vs/editor/contrib/gotoError/gotoError.ts/MarkerController/nagivate
class MarkerController:	async nagivate(next: boolean, multiFile: boolean) {
		if (this._editor.hasModel()) {
			const model = this._getOrCreateModel(multiFile ? undefined : this._editor.getModel().uri);
			model.move(next, this._editor.getModel(), this._editor.getPosition());
			if (!model.selected) {
				return;
			}
			if (model.selected.marker.resource.toString() !== this._editor.getModel().uri.toString()) {
				// show in different editor
				this._cleanUp();
				const otherEditor = await this._editorService.openCodeEditor({
					resource: model.selected.marker.resource,
					options: { pinned: false, revealIfOpened: true, selectionRevealType: TextEditorSelectionRevealType.NearTop, selection: model.selected.marker }
				}, this._editor);

				if (otherEditor) {
					MarkerController.get(otherEditor).close();
					MarkerController.get(otherEditor).nagivate(next, multiFile);
				}

			} else {
				// show in this editor
				this._widget!.showAtMarker(model.selected.marker, model.selected.index, model.selected.total);
			}
		}
	}