code: public void printUsage(PrintWriter writer, boolean showHidden) {
          if (writer instanceof IndentedPrintWriter) {
              printUsageInternal((IndentedPrintWriter) writer, showHidden);
          } else {
              printUsageInternal(new IndentedPrintWriter(writer), showHidden);
          }
      }
docs: Print the option usage list. Essentially printed as a list of options
  with the description indented where it overflows the available line
  width.
  
  @param writer The output printer.
  @param showHidden Whether to show hidden options.