code: public String expand(String macro) {
          if (!isMacro(macro)) {
              return macro;
          }
          String definition = macros.get(Config.canonical(macro));
          if (null == definition) {
              warn("possible missing definition of macro[%s]", macro);
          }
          return null == definition ? macro : definition;
      }
docs: Expand a macro.
  
  This will look up the macro definition from {@link #macros} map.
  If not found then return passed in `macro` itself, otherwise return
  the macro definition found.
  
  **note** if macro definition is not found and the string
  {@link #isMacro(String) comply to macro name convention}, then a
  warn level message will be logged.
  
  @param macro the macro name
  @return macro definition or macro itself if no definition found.