src/vs/base/common/cancellation.ts/CancellationTokenSource/dispose
class CancellationTokenSource:	dispose(cancel: boolean = false): void {
		if (cancel) {
			this.cancel();
		}
		if (this._parentListener) {
			this._parentListener.dispose();
		}
		if (!this._token) {
			// ensure to initialize with an empty token if we had none
			this._token = CancellationToken.None;

		} else if (this._token instanceof MutableToken) {
			// actually dispose
			this._token.dispose();
		}
	}