private short[] createPreLenTable() {
        short[] tmp = new short[ChmConstants.LZX_PRETREE_MAXSYMBOLS];
        for (int i = 0; i < ChmConstants.LZX_PRETREE_MAXSYMBOLS; i++) {
            tmp[i] =
                    (short) getChmSection().getSyncBits(ChmConstants.LZX_PRETREE_NUM_ELEMENTS_BITS);
        }
        return tmp;
    }
Decompresses a chm block. Depending on chm block type chooses most relevant
decompressing method. A chm block type can be as follows:</br> <li>UNDEFINED
- no action taken, i.e. skipping the block <li>VERBATIM <li>ALIGNED_OFFSET
<li>UNCOMPRESSED the most simplest In addition there are unknown types (4-7).
Currently relying on previous chm block these types changing according to the
previous chm block type. We need to invent more appropriate way to handle
such types.
tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/chm/ChmLzxBlock.java