protected PluginManagerResponse activatePlugin(
     final GAVCoordinate gav,
     final boolean strict,
     final Set<GAVCoordinate> installedPluginsFilteredByGA) {
   final GAVCoordinate activatedGav = getActivatedPluginGav(gav, strict);
   if (activatedGav == null) {
     GAVCoordinate actualGAV = null;
     if (!strict) {
       actualGAV = findInstalledPluginByGA(installedPluginsFilteredByGA, gav);
     }
     if (actualGAV == null) {
       actualGAV = gav;
     }
     final PluginManagerResponse response =
         new PluginManagerResponse(actualGAV, PluginActivationRequest.ACTIVATE);
     try {
       activatePlugin(
           repositoryManager.resolveArtifact(actualGAV), response, installedPluginsFilteredByGA);
     } catch (final NoSuchPluginRepositoryArtifactException e) {
       reportMissingPlugin(response, e);
     }
     return response;
   } else {
     return new PluginManagerResponse(activatedGav, PluginActivationRequest.ACTIVATE);
   }
 }