public static AbstractChunking createChunkingInstance(IntermediateNodeObject nodeObject)
            throws TikaException, IOException {
        byte[] fileContent = ByteUtil.toByteArray(nodeObject.getContent());
        if (ZipHeader.isFileHeader(fileContent, 0)) {
            return new ZipFilesChunking(fileContent);
        } else {
            // For SharePoint Server 2013 compatible SUTs, always using the RDC Chunking method in
            // the current test suite involved file resources.
            AbstractChunking returnChunking = new SimpleChunking(fileContent);

            List<LeafNodeObject> nodes = returnChunking.chunking();
            if (nodeObject.intermediateNodeObjectList.size() == nodes.size()) {
                boolean isDataSizeMatching = true;
                for (int i = 0; i < nodes.size(); i++) {
                    if (nodeObject.intermediateNodeObjectList.get(i).dataSize.dataSize !=
                            nodes.get(i).dataSize.dataSize) {
                        isDataSizeMatching = false;
                        break;
                    }
                }

                if (isDataSizeMatching) {
                    return returnChunking;
                }
            }

            // If the intermediate count number or data size does not equals, then try to use RDC chunking method.
            return new RDCAnalysisChunking(fileContent);
        }
    }
This method is used to create the instance of AbstractChunking.

@param nodeObject Specify the root node object.
@return The instance of AbstractChunking.
tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/onenote/fsshttpb/streamobj/chunking/ChunkingFactory.java