docs: public void publish(final List<StepImplementationsDescriptor> stepimplementationDescriptors) {
          final Map<String, List<StepDescriptor>> sectionSorted = new TreeMap<String, List<StepDescriptor>>();
  
          for (final StepImplementationsDescriptor descriptor : stepimplementationDescriptors) {
  
              for (final StepDescriptor stepTag : descriptor.getExpressions()) {
  
                  String section = stepTag.getSection();
                  if (section == null || section.isEmpty()) {
                      section = "Miscellaneous";
                  }
  
                  List<StepDescriptor> subList = sectionSorted.get(section);
  
                  if (subList == null) {
                      subList = new ArrayList<StepDescriptor>();
                      sectionSorted.put(section, subList);
                  }
                  subList.add(stepTag);
              }
          }
  
          final String html = buildHtml(sectionSorted);
  
          outputFile.delete();
  
          // write out
          try {
              if (outputFile.createNewFile()) {
                  Files.write(html, outputFile, Charset.defaultCharset());
              } else {
                  // TODO
              }
          } catch (final IOException e) {
              // TODO Auto-generated catch block
              e.printStackTrace();
          }
      }