Boxing.layout(c, box, content);
if (! isAlternateFlow(c, content)) { Boxing.layout(c, box, content); } else { box = null; }
    public static BlockBox generateAbsolute(LayoutContext c, Content content, LineBox currentLine) {        Rectangle oe = c.getExtents();// copy the extents for safety        c.setExtents(new Rectangle(oe));                MarkerData markerData = c.getCurrentMarkerData();        c.setCurrentMarkerData(null);                BlockBox box = Boxing.constructBox(c, content);        box.setContainingBlock(c.getLayer().getMaster());        box.setStaticEquivalent(currentLine);                // If printing, don't layout until we know where its going        if (! c.isPrint()) {            Boxing.layout(c, box, content);        } else {            c.pushStyle(content.getStyle());            box.setStyle(new Style(c.getCurrentStyle(),                     c.getLayer().getMaster().getContentWidth()));            c.pushLayer(box);            c.getLayer().setRequiresLayout(true);            c.getLayer().setLayoutData(                    new AbsoluteContentLayoutData(content, c.getCurrentStyle()));            c.popLayer();            c.popStyle();        }                c.setCurrentMarkerData(markerData);                c.setExtents(oe);                return box;    }