Length distance = pInfo.getPropertyList().get(
Constants.PR_PROVISIONAL_DISTANCE_BETWEEN_STARTS).getLength();
Length separation = pInfo.getPropertyList().getNearestSpecified(
Constants.PR_PROVISIONAL_LABEL_SEPARATION).getLength();
PropertyList pList = pInfo.getPropertyList();
while (pList != null && !(pList.getFObj() instanceof ListItem)) {
pList = pList.getParentPropertyList();
}
if (pList == null) {
throw new PropertyException("label-end() called from outside an fo:list-item");
}
Length startIndent = pList.get(Constants.PR_START_INDENT).getLength();
LengthBase base = new LengthBase(pList.getFObj(), pInfo.getPropertyList(),
LengthBase.CONTAINING_REFAREA_WIDTH);
PercentLength refWidth = new PercentLength(1.0, base);
Numeric labelEnd = distance;
labelEnd = NumericOp.addition(labelEnd, startIndent);