public static List<ObjectGroupDataElementData> getDataObjectDataElementData(
            List<DataElement> dataElements, RevisionManifestDataElementData revisionData,
            AtomicReference<ExGuid> rootExGuid) throws TikaException {
        rootExGuid = null;

        for (RevisionManifestRootDeclare kv : revisionData.revisionManifestRootDeclareList) {
            if (kv.rootExGuid.equals(new ExGuid(2, RootExGuid))) {
                rootExGuid.set(kv.objectExGuid);
                break;
            }
        }

        List<ObjectGroupDataElementData> dataList = new ArrayList<>();

        for (RevisionManifestObjectGroupReferences kv : revisionData.revisionManifestObjectGroupReferences) {
            DataElement dataElement = dataElements.stream()
                    .filter(element -> element.dataElementExGuid.equals(kv.objectGroupExtendedGUID))
                    .findAny().orElse(null);
            if (dataElement == null) {
                throw new InvalidOperationException(
                        "Cannot find the object group data element with ExGuid " +
                                kv.objectGroupExtendedGUID.guid.toString());
            }

            dataList.add(dataElement.getData(ObjectGroupDataElementData.class));
        }

        return dataList;
    }
This method is used to get a list of object group data element from a list of data element.

@param dataElements Specify the data element list.
@param revisionData Specify the revision data.
@param rootExGuid   Specify the root node object extended GUID.
@return Return the list of object group data element.
tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/onenote/fsshttpb/util/DataElementUtils.java