public static DataElement createRevisionManifestDataElement(ExGuid rootObjectExGuid,
                                                                ExGuid baseRevisionID,
                                                                List<ExGuid> refferenceObjectDataExGuidList,
                                                                Map<ExGuid, ExGuid> revisionMapping,
                                                                AtomicReference<ExGuid> currentRevisionID) {
        RevisionManifestDataElementData data = new RevisionManifestDataElementData();
        data.revisionManifest.revisionID = new ExGuid(1, UUID.randomUUID());
        data.revisionManifest.baseRevisionID = new ExGuid(baseRevisionID);

        // Set the root object data ExGuid
        RevisionManifestRootDeclare revisionManifestRootDeclare = new RevisionManifestRootDeclare();
        revisionManifestRootDeclare.rootExGuid = new ExGuid(2, RootExGuid);
        revisionManifestRootDeclare.objectExGuid = new ExGuid(rootObjectExGuid);
        data.revisionManifestRootDeclareList.add(revisionManifestRootDeclare);

        // Set all the reference object data
        if (refferenceObjectDataExGuidList != null) {
            for (ExGuid dataGuid : refferenceObjectDataExGuidList) {
                data.revisionManifestObjectGroupReferences.add(
                        new RevisionManifestObjectGroupReferences(dataGuid));
            }
        }

        DataElement dataElement =
                new DataElement(DataElementType.RevisionManifestDataElementData, data);
        revisionMapping.put(data.revisionManifest.revisionID, dataElement.dataElementExGuid);
        currentRevisionID.set(data.revisionManifest.revisionID);
        return dataElement;
    }
This method is used to create the revision manifest data element.

@param rootObjectExGuid               Specify the root node object extended GUID.
@param baseRevisionID                 Specify the base revision Id.
@param refferenceObjectDataExGuidList Specify the reference object data extended list.
@param currentRevisionID              Input/output parameter to represent the mapping of revision manifest.
@param currentRevisionID              Output parameter to represent the revision GUID.
@return Return the revision manifest 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