protected override YAMLMappingNode ExportYAMLRoot(IExportContainer container) { YAMLMappingNode node = new YAMLMappingNode(); if (HasInternalIDToNameTable(container.ExportVersion)) { if (IncludesIDToName) { node.Add(InternalIDToNameTableName, InternalIDToNameTable.ExportYAML((t) => (int)t)); } } else if (FileIDToRecycleNameRelevant(container.ExportVersion)) { if (!IsFileIDToRecycleNameConditional(container.ExportVersion) || IncludesIDToName) { node.Add(FileIDToRecycleNameName, FileIDToRecycleName.ExportYAML()); } } if (HasExternalObjects(container.ExportVersion)) { node.Add(ExternalObjectsName, ExternalObjects.ExportYAML(container)); } if (HasUsedFileIDs(container.ExportVersion)) { node.Add(UsedFileIDsName, UsedFileIDs.ExportYAML(false)); } if (HasPreview(container.ExportVersion)) { node.Add(PreviewName, Preview.ExportYAML(container)); } if (HasHash(container.ExportVersion)) { node.Add(OldHashIdentityName, OldHashIdentity.ExportYAML(container)); node.Add(NewHashIdentityName, NewHashIdentity.ExportYAML(container)); } return(node); }