AsciiBox expandBox(AsciiBox box, int desiredWidth) {
        if (box.width() >= desiredWidth) {
            return box;
        }
        String[] boxLines = box.lines();
        int numberOfLine = boxLines.length;
        int boxWidth = box.width();
        String padding = StringUtils.repeat(" ", desiredWidth - boxWidth);
        StringBuilder newBox = new StringBuilder();
        for (int i = 0; i < boxLines.length; i++) {
            String line = boxLines[i];
            newBox.append(line);
            newBox.append(padding);
            if (i < numberOfLine - 1) {
                newBox.append(newLine);
            }
        }
        AsciiBox asciiBox = new AsciiBox(this, newBox.toString());
        asciiBox.compressedBoxSet = boxSet.contributeToCompressedBoxSet(box);
        return asciiBox;
    }
BoxBelowBox renders two boxes below

@param box1 above box2
@param box2 below box1
@return box1 above box2
plc4j/spi/src/main/java/org/apache/plc4x/java/spi/utils/ascii/AsciiBoxWriter.java