src/vs/workbench/services/extensions/common/abstractExtensionService.ts/Lock/acquire
class Lock:	public async acquire(customerName: string): Promise<IDisposable> {
		const customer = new LockCustomer(customerName);
		this._pendingCustomers.push(customer);
		this._advance();
		return customer.promise;
	}