InlineBox prev_align, boolean isFirstLetter, CascadedStyle firstLetterStyle, CascadedStyle firstLineStyle,
InlineBox prev_align, boolean isFirstLetter, CascadedStyle firstLetterStyle,
    private static InlineBox calculateInline(Context c, Content content, int avail, int max_width,                                             InlineBox prev_align, boolean isFirstLetter, CascadedStyle firstLetterStyle, CascadedStyle firstLineStyle,                                             LineBox curr_line, int start) {        if (c.isFirstLine() && firstLineStyle != null) {            c.pushStyle(firstLineStyle);        }        CalculatedStyle style = c.getCurrentStyle();        // get the current font. required for sizing        Font font = FontUtil.getFont(c);        InlineBox result;        // handle each case        if (content instanceof InlineBlockContent) {            //Uu.p("is replaced");            result = LineBreaker.generateReplacedInlineBox(c, content, avail, prev_align, curr_line);        } else if (content instanceof FloatedBlockContent) {            //Uu.p("calcinline: is floated block");            result = FloatUtil.generateFloatedBlockInlineBox(c, content, avail, curr_line);        } else {            //OK, now we should have only TextContent left, fail fast if not            // Uu.p("real content = " + content);            TextContent textContent = (TextContent) content;            //might need to transform it            // get the text of the node            String text = textContent.getText();            // transform the text if required (like converting to caps)            // this must be done before any measuring since it might change the            // size of the text            //Uu.p("text from the node = \"" + text + "\"");            text = TextUtil.transformText(text, style);            int end = text.length();            InlineTextBox inline = new InlineTextBox();            inline.element = textContent.getElement();            inline.pseudoElement = textContent.getPseudoElement();            //Here we must set MasterText, it might have been restyled            inline.setMasterText(text);            // Uu.p("calculating inline: text = " + text);            // Uu.p("avail space = " + avail + " max = " + max_width + "   start index = " + start);            //CHECK:what's so very differnt between a first-letter box and another box? Can't we create them equal?            if (isFirstLetter && firstLetterStyle != null) {                //TODO: what if first letter is whitespace?                end = start + 1;                inline.setSubstring(start, end);                c.pushStyle(firstLetterStyle);                CalculatedStyle style1 = c.getCurrentStyle();                Font font1 = FontUtil.getFont(c);                inline.whitespace = WhitespaceStripper.getWhitespace(style1);                BoxBuilder.prepBox(c, inline, prev_align, font1);                c.popStyle();                result = inline;            } else {                inline.setSubstring(start, end);                CalculatedStyle style1 = c.getCurrentStyle();                inline.whitespace = WhitespaceStripper.getWhitespace(style1);                Breaker.breakText(c, inline, prev_align, avail, max_width, font);                BoxBuilder.prepBox(c, inline, prev_align, font);                result = inline;            }        }        if (c.isFirstLine() && firstLineStyle != null) {            c.popStyle();        }        return result;    }