private static @NotNull Map<String, String> computeMacroMap() {
    // ApplicationManager.getApplication() will return null if executed in ParameterListTest
    Application application = ApplicationManager.getApplication();
    if (application == null || application.isUnitTestMode() && ourTestMacros != null) {
      return ObjectUtils.notNull(ourTestMacros, Collections.emptyMap());
    }

    Map<String, String> map = CollectionFactory.createCaseInsensitiveStringMap();
    Map<String, String> pathMacros = PathMacros.getInstance().getUserMacros();
    if (!pathMacros.isEmpty()) {
      for (String name : pathMacros.keySet()) {
        String value = pathMacros.get(name);
        if (value != null) {
          map.put(name, value);
        }
      }
    }
    for (Map.Entry<String, String> entry : EnvironmentUtil.getEnvironmentMap().entrySet()) {
      map.putIfAbsent(entry.getKey(), entry.getValue());
    }
    return map;
  }
private static @NotNull Map<String, String> computeMacroMap()