code: public void wrapDescription(StringBuilder out, int indent, int currentLineIndent, String description) {
          int max = commander.getColumnSize();
          String[] words = description.split(" ");
          int current = currentLineIndent;
  
          for (int i = 0; i < words.length; i++) {
              String word = words[i];
  
              if (word.length() > max || current + 1 + word.length() <= max) {
                  out.append(word);
                  current += word.length();
  
                  if (i != words.length - 1) {
                      out.append(" ");
                      current++;
                  }
              } else {
                  out.append("\n").append(s(indent)).append(word).append(" ");
                  current = indent + word.length() + 1;
              }
          }
      }
docs: Wrap a potentially long line to the value obtained by calling {@link JCommander#getColumnSize()} on the
  underlying commander instance.
  
  @param out               the output
  @param indent            the indentation in spaces for lines after the first line.
  @param currentLineIndent the length of the indentation of the initial line
  @param description       the text to wrap. No extra spaces are inserted before {@code
  description}. If the first line needs to be indented prepend the
  correct number of spaces to {@code description}.