docs: protected TerminalSize getBounds(String[] lines, TerminalSize currentBounds) {
          if(currentBounds == null) {
              currentBounds = TerminalSize.ZERO;
          }
          currentBounds = currentBounds.withRows(lines.length);
          if(labelWidth == null || labelWidth == 0) {
              int preferredWidth = 0;
              for(String line : lines) {
                  int lineWidth = TerminalTextUtils.getColumnWidth(line);
                  if(preferredWidth < lineWidth) {
                      preferredWidth = lineWidth;
                  }
              }
              currentBounds = currentBounds.withColumns(preferredWidth);
          }
          else {
              List<String> wordWrapped = TerminalTextUtils.getWordWrappedText(labelWidth, lines);
              currentBounds = currentBounds.withColumns(labelWidth).withRows(wordWrapped.size());
          }
          return currentBounds;
      }