public static @NotNull String expandMacros(@NotNull String input, @NotNull Collection<Macro> macros, @NotNull MacroExpander expander) throws ExecutionCancelledException {
    StringBuilder builder = new StringBuilder(input);
    for (Macro macro : macros) {
      expandMacro(macro, expander, builder);
    }
    return builder.toString();
  }
public static @NotNull String expandMacros(@NotNull String input, @NotNull Collection<Macro> macros, @NotNull MacroExpander expander)