public int doDeserializeFromByteArray(byte[] byteArray, int startIndex) throws IOException {
        int index = startIndex;
        this.oids = new ObjectSpaceObjectStreamOfOIDs();
        int len = this.oids.doDeserializeFromByteArray(byteArray, index);
        index += len;
        if (this.oids.header.osidStreamNotPresent == 0) {
            this.osids = new ObjectSpaceObjectStreamOfOSIDs();
            len = this.osids.doDeserializeFromByteArray(byteArray, index);
            index += len;

            if (this.osids.header.extendedStreamsPresent == 1) {
                this.contextIDs = new ObjectSpaceObjectStreamOfContextIDs();
                len = this.contextIDs.doDeserializeFromByteArray(byteArray, index);
                index += len;
            }
        }
        this.body = new PropertySet();
        len = this.body.doDeserializeFromByteArray(byteArray, index);
        index += len;

        int paddingLength = 8 - (index - startIndex) % 8;
        if (paddingLength < 8) {
            this.padding = new byte[paddingLength];
            index += paddingLength;
        }
        return index - startIndex;
    }
This method is used to deserialize the ObjectSpaceObjectPropSet from the specified byte array and start index.

@param byteArray  Specify the byte array.
@param startIndex Specify the start index from the byte array.
@return Return the length in byte of the ObjectSpaceObjectPropSet.
tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/onenote/fsshttpb/streamobj/space/ObjectSpaceObjectPropSet.java