src/vs/platform/extensionManagement/common/extensionManagementCLI.ts/ExtensionManagementCLI/validateVSIX
class ExtensionManagementCLI:	private async validateVSIX(manifest: IExtensionManifest, force: boolean, profileLocation: URI | undefined, output: CLIOutput): Promise<boolean> {
		const extensionIdentifier = { id: getGalleryExtensionId(manifest.publisher, manifest.name) };
		const installedExtensions = await this.extensionManagementService.getInstalled(ExtensionType.User, profileLocation);
		const newer = installedExtensions.find(local => areSameExtensions(extensionIdentifier, local.identifier) && gt(local.manifest.version, manifest.version));

		if (newer && !force) {
			output.log(localize('forceDowngrade', "A newer version of extension '{0}' v{1} is already installed. Use '--force' option to downgrade to older version.", newer.identifier.id, newer.manifest.version, manifest.version));
			return false;
		}

		return this.validateExtensionKind(manifest, output);
	}