private void decompressUncompressedBlock(int len, byte[] prevcontent) {
        if (getContentLength() + getState().getBlockRemaining() <= getBlockLength()) {
            for (int i = getContentLength();
                    i < (getContentLength() + getState().getBlockRemaining()); i++)
                content[i] = getChmSection().getByte();

            setContentLength(getContentLength() + getState().getBlockRemaining());
            getState().setBlockRemaining(0);
        } else {
            for (int i = getContentLength(); i < getBlockLength(); i++)
                content[i] = getChmSection().getByte();
            getState()
                    .setBlockRemaining((int) getBlockLength() - getContentLength());// = blockLen -
            // contentlen;
            setContentLength((int) getBlockLength());
        }
    }
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