code: public void print(@NonNull PrintStream stream) {
        String horizontalBar = StringUtils.repeat("─", longestCell);
        String hline = middleCMBar(horizontalBar, longestRow);
        longestRow = Math.max(longestRow, header.size());
  
        if (!StringUtils.isNullOrBlank(title)) {
           stream.println(
                 StringUtils.center(title, (longestCell * longestRow) + longestRow + 1)
                         );
        }
  
        stream.printf("┌%s", horizontalBar);
        for (int i = 1; i < longestRow; i++) {
           stream.printf("┬%s", horizontalBar);
        }
        stream.println("┐");
  
        if (header.size() > 0) {
           printRow(stream, header, longestCell, longestRow);
           stream.println(bar(StringUtils.repeat("═", longestCell), "╞", "╡", "╪", header.size()));
        }
  
        for (int r = 0; r < content.size(); r++) {
           printRow(stream, content.get(r), longestCell, longestRow);
           if (r + 1 < content.size()) {
              stream.println(hline);
           }
        }
  
        if (!footer.isEmpty()) {
           stream.println(bar(StringUtils.repeat("═",longestCell), "╞", "╡", "╪", header.size()));
           for (int r = 0; r < footer.size(); r++) {
              printRow(stream, footer.get(r), longestCell, longestRow);
              if (r + 1 < footer.size()) {
                 stream.println(hline);
              }
           }
        }
  
  
        stream.printf("└%s", horizontalBar);
        for (int i = 1; i < longestRow; i++) {
           stream.printf("┴%s", horizontalBar);
        }
        stream.println("┘");
  
  
     }
docs: Print the table to the give PrintStream .
  
  @param stream the print stream to write to