public LeafNodeObject Build(byte[] array, SignatureObject signature) {
            LeafNodeObject nodeObject = new LeafNodeObject();
            nodeObject.dataSize = new DataSizeObject();
            nodeObject.dataSize.dataSize = array.length;

            nodeObject.signature = signature;
            nodeObject.exGuid =
                    new ExGuid(SequenceNumberGenerator.GetCurrentSerialNumber(), UUID.randomUUID());

            nodeObject.dataNodeObjectData = new DataNodeObjectData(array, 0, array.length);
            nodeObject.intermediateNodeObjectList = null;

            // Now in the current implementation, one intermediate node only contain one single data object node.
            return nodeObject;
        }
This method is used to build intermediate node object from a byte array with a signature

@param array     Specify the byte array.
@param signature Specify the signature.
@return Return the intermediate node object.
tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/onenote/fsshttpb/streamobj/LeafNodeObject.java