docs: public static Map<String, Object> findFreeMarkerExtensions(Furnace furnace, GraphRewrite event)
      {
          Imported<WindupFreeMarkerMethod> freeMarkerMethods = furnace.getAddonRegistry().getServices(
                      WindupFreeMarkerMethod.class);
          Map<String, Object> results = new HashMap<>();
  
          for (WindupFreeMarkerMethod freeMarkerMethod : freeMarkerMethods)
          {
              freeMarkerMethod.setContext(event);
              if (results.containsKey(freeMarkerMethod.getMethodName()))
              {
                  throw new WindupException(Util.WINDUP_BRAND_NAME_ACRONYM+" contains two freemarker extension providing the same name: "
                              + freeMarkerMethod.getMethodName());
              }
              results.put(freeMarkerMethod.getMethodName(), freeMarkerMethod);
          }
  
          Imported<WindupFreeMarkerTemplateDirective> freeMarkerDirectives = furnace.getAddonRegistry().getServices(
                      WindupFreeMarkerTemplateDirective.class);
          for (WindupFreeMarkerTemplateDirective freeMarkerDirective : freeMarkerDirectives)
          {
              freeMarkerDirective.setContext(event);
              if (results.containsKey(freeMarkerDirective.getDirectiveName()))
              {
                  throw new WindupException(Util.WINDUP_BRAND_NAME_ACRONYM+" contains two freemarker extension providing the same name: "
                              + freeMarkerDirective.getDirectiveName());
              }
              results.put(freeMarkerDirective.getDirectiveName(), freeMarkerDirective);
          }
  
          return results;
      }