private ParagraphLevelCounter loadLevelTuples(CTDecimalNumber abNum) {
        //Unfortunately, we need to go this far into the underlying structure
        //to get the abstract num information for the edge case where
        //someone skips a level and the format is not context-free, e.g. "1.B.i".
        XWPFAbstractNum abstractNum = numbering.getAbstractNum(abNum.getVal());
        CTAbstractNum ctAbstractNum = abstractNum.getCTAbstractNum();

        LevelTuple[] levels = new LevelTuple[ctAbstractNum.sizeOfLvlArray()];
        for (int i = 0; i < levels.length; i++) {
            levels[i] = buildTuple(i, ctAbstractNum.getLvlArray(i));
        }
        return new ParagraphLevelCounter(levels);
    }
@param paragraph paragraph
@return the formatted number or an empty string if something went wrong
tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/XWPFListManager.java