code: @Override
      public String getSummaryForWorkUnit(final DocWorkUnit workUnit) {
          String summary = workUnit.getDocumentedFeature().summary();
          if (summary == null || summary.isEmpty()) {
              final CommandLineProgramProperties commandLineProperties = workUnit.getCommandLineProperties();
              if (commandLineProperties != null) {
                  summary = commandLineProperties.oneLineSummary();
              }
              if (summary == null || summary.isEmpty()) {
                  // If no summary was found from annotations, use the javadoc if there is any
                  summary = Arrays.stream(workUnit.getClassDoc().firstSentenceTags())
                          .map(tag -> tag.text())
                          .collect(Collectors.joining());
              }
          }
  
          return summary == null ? "" : summary;
      }
docs: Get the summary string to be used for a given work unit, applying any fallback policy. This is
  called by the work unit handler after the work unit has been populated, and may be overridden by
  subclasses to provide custom behavior.
  
  @param workUnit
  @return the summary string to be used for this work unit