if (graftingPoint != null) {
foContext = new OverrideGraftingContext(inputLineArea,
graftingPoint);
}
final Fo node = this.getFONode();
LineArea lineArea = inputLineArea;
if (! (node instanceof FoLineNonText)) {
return Status.UNKNOWN;
}
final FoLineNonText nonText = (FoLineNonText) node;
// this should start a new page
if (lineArea == null) {
return Status.AREA_FULL_SOME;
}
if (addNonTextItemToLine(lineArea, nonText, foContext) == 1) {
// It fit on the line.
return Status.OK;
}
// It did not fit on the line. Create new line & try again.
final NormalBlockArea blockArea
= (NormalBlockArea) lineArea.ancestorArea();
lineArea = blockArea.makeLineArea(false);
final BlockPL blockPL = this.layout.getBlockPL(blockArea);
blockPL.setCurrentLineArea(lineArea);
if (lineArea == null) {