private void setupEnvironment(final Map<String, String> environment) {
    environment.clear();

    if (myPassParentEnvironment) {
      environment.putAll(EnvironmentUtil.getEnvironmentMap());
    }

    if (!myEnvParams.isEmpty()) {
      if (SystemInfo.isWindows) {
        THashMap<String, String> envVars =
            new THashMap<String, String>(CaseInsensitiveStringHashingStrategy.INSTANCE);
        envVars.putAll(environment);
        envVars.putAll(myEnvParams);
        environment.clear();
        environment.putAll(envVars);
      } else {
        environment.putAll(myEnvParams);
      }
    }
  }
  protected void setupEnvironment(@NotNull Map<String, String> environment) {
    environment.clear();

    if (myPassParentEnvironment) {
      environment.putAll(
          PlatformUtils.isAppCode()
              ? System.getenv() // Temporarily fix for OC-8606
              : EnvironmentUtil.getEnvironmentMap());
    }

    if (!myEnvParams.isEmpty()) {
      if (SystemInfo.isWindows) {
        THashMap<String, String> envVars =
            new THashMap<String, String>(CaseInsensitiveStringHashingStrategy.INSTANCE);
        envVars.putAll(environment);
        envVars.putAll(myEnvParams);
        environment.clear();
        environment.putAll(envVars);
      } else {
        environment.putAll(myEnvParams);
      }
    }
  }
 @Override
 public void putAll(Map<? extends String, ? extends String> map) {
   if (map != null) {
     super.putAll(map);
   }
 }