public XElement ToXml() => new XElement( nameof(UsageData), CreatedByRid == null ? null : new XElement( nameof(CreatedByRid), CreatedByRid), ProjectDirectories?.Any() != true ? null : new XElement( nameof(ProjectDirectories), ProjectDirectories .Select(dir => new XElement("Dir", dir))), NeverRestoredTarballPrebuilts?.Any() != true ? null : new XElement( nameof(NeverRestoredTarballPrebuilts), NeverRestoredTarballPrebuilts .OrderBy(id => id) .Select(id => id.ToXElement())), IgnorePatterns?.Any() != true ? null : new XElement( nameof(IgnorePatterns), IgnorePatterns .Select(p => p.ToXml())), Usages?.Any() != true ? null : new XElement( nameof(Usages), Usages .OrderBy(u => u.PackageIdentity) .ThenByOrdinal(u => u.AssetsFile) .Select(u => u.ToXml())));