public static <T extends BasicObject> T parse(byte[] byteArray, AtomicInteger index,
                                                  Class<T> clazz) throws TikaException,
            IOException {
        try {
            T fsshttpbObject = clazz.getDeclaredConstructor().newInstance();
            index.addAndGet(fsshttpbObject.deserializeFromByteArray(byteArray, index.get()));

            return fsshttpbObject;
        } catch (InstantiationException | IllegalAccessException | NoSuchMethodException |
                 InvocationTargetException e) {
            throw new TikaException("Could not parse basic object", e);
        }
    }
Used to parse byte array to special object.

@param byteArray The byte array contains raw data.
@param index     The index special where to start.
@return The instance of target 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/basic/BasicObject.java