private Settings loadSettings(String user, String global) throws SettingsBuildingException {
   DefaultSettingsBuildingRequest request = new DefaultSettingsBuildingRequest();
   if (user != null) {
     request.setUserSettingsFile(resolveFile(user));
   }
   if (global != null) {
     request.setGlobalSettingsFile(resolveFile(global));
   }
   request.setSystemProperties(System.getProperties());
   request.setUserProperties(new Properties());
   Settings settings =
       new DefaultSettingsBuilderFactory().newInstance().build(request).getEffectiveSettings();
   return settings;
 }
  private synchronized Settings getSettings() {
    if (settings == null) {
      DefaultSettingsBuildingRequest request = new DefaultSettingsBuildingRequest();
      request.setUserSettingsFile(getUserSettings());
      request.setGlobalSettingsFile(getGlobalSettings());
      request.setSystemProperties(getSystemProperties());
      request.setUserProperties(getUserProperties());

      try {
        settings = settingsBuilder.build(request).getEffectiveSettings();
      } catch (SettingsBuildingException e) {
        project.log("Could not process settings.xml: " + e.getMessage(), e, Project.MSG_WARN);
      }

      SettingsDecryptionResult result =
          settingsDecrypter.decrypt(new DefaultSettingsDecryptionRequest(settings));
      settings.setServers(result.getServers());
      settings.setProxies(result.getProxies());
    }
    return settings;
  }