bestMarker.resetMarkerContent();
return bestMarker.layoutMarker(area);
}
// If marker not yet found, and 'retrieve-boundary' permits,
// search backward.
AreaTree areaTree = containingPage.getAreaTree();
if (retrieveBoundary == RetrieveBoundary.PAGE_SEQUENCE) {
PageSequence pageSequence = areaTree.getCurrentPageSequence();
if (pageSequence == containingPage.getPageSequence() ) {
return layoutBestMarker(areaTree.getCurrentPageSequenceMarkers(),area);
}
} else if (retrieveBoundary == RetrieveBoundary.DOCUMENT) {
return layoutBestMarker(areaTree.getDocumentMarkers(),area);
} else if (retrieveBoundary != RetrieveBoundary.PAGE) {
throw new FOPException("Illegal 'retrieve-boundary' value", systemId, line, column);
}
} else if (bestMarker != null) {
return bestMarker.layoutMarker(area);