internal BlobSignedIdentifier(string id, BlobAccessPolicy accessPolicy)
        {
            if (id == null)
            {
                throw new ArgumentNullException(nameof(id));
            }

            Id           = id;
            AccessPolicy = accessPolicy;
        }
        internal static BlobSignedIdentifier DeserializeBlobSignedIdentifier(XElement element)
        {
            string           id           = default;
            BlobAccessPolicy accessPolicy = default;

            if (element.Element("Id") is XElement idElement)
            {
                id = (string)idElement;
            }
            if (element.Element("AccessPolicy") is XElement accessPolicyElement)
            {
                accessPolicy = BlobAccessPolicy.DeserializeBlobAccessPolicy(accessPolicyElement);
            }
            return(new BlobSignedIdentifier(id, accessPolicy));
        }