internal ListBlobsResponse(string containerName, string prefix, string marker, int maxResults, string delimiter, Blobs blobs, string nextMarker)
        {
            if (containerName == null)
            {
                throw new ArgumentNullException(nameof(containerName));
            }
            if (prefix == null)
            {
                throw new ArgumentNullException(nameof(prefix));
            }
            if (marker == null)
            {
                throw new ArgumentNullException(nameof(marker));
            }
            if (delimiter == null)
            {
                throw new ArgumentNullException(nameof(delimiter));
            }
            if (blobs == null)
            {
                throw new ArgumentNullException(nameof(blobs));
            }
            if (nextMarker == null)
            {
                throw new ArgumentNullException(nameof(nextMarker));
            }

            ContainerName = containerName;
            Prefix        = prefix;
            Marker        = marker;
            MaxResults    = maxResults;
            Delimiter     = delimiter;
            Blobs         = blobs;
            NextMarker    = nextMarker;
        }
 internal ListBlobsResponse(string serviceEndpoint, string containerName, string prefix, string marker, int maxResults, string delimiter, Blobs blobs, string nextMarker)
 {
     ServiceEndpoint = serviceEndpoint;
     ContainerName   = containerName;
     Prefix          = prefix;
     Marker          = marker;
     MaxResults      = maxResults;
     Delimiter       = delimiter;
     Blobs           = blobs;
     NextMarker      = nextMarker;
 }
        internal static ListBlobsResponse DeserializeListBlobsResponse(XElement element)
        {
            string serviceEndpoint = default;
            string containerName   = default;
            string prefix          = default;
            string marker          = default;
            int    maxResults      = default;
            string delimiter       = default;
            Blobs  blobs           = default;
            string nextMarker      = default;

            if (element.Attribute("ServiceEndpoint") is XAttribute serviceEndpointAttribute)
            {
                serviceEndpoint = (string)serviceEndpointAttribute;
            }
            if (element.Attribute("ContainerName") is XAttribute containerNameAttribute)
            {
                containerName = (string)containerNameAttribute;
            }
            if (element.Element("Prefix") is XElement prefixElement)
            {
                prefix = (string)prefixElement;
            }
            if (element.Element("Marker") is XElement markerElement)
            {
                marker = (string)markerElement;
            }
            if (element.Element("MaxResults") is XElement maxResultsElement)
            {
                maxResults = (int)maxResultsElement;
            }
            if (element.Element("Delimiter") is XElement delimiterElement)
            {
                delimiter = (string)delimiterElement;
            }
            if (element.Element("Blobs") is XElement blobsElement)
            {
                blobs = Blobs.DeserializeBlobs(blobsElement);
            }
            if (element.Element("NextMarker") is XElement nextMarkerElement)
            {
                nextMarker = (string)nextMarkerElement;
            }
            return(new ListBlobsResponse(serviceEndpoint, containerName, prefix, marker, maxResults, delimiter, blobs, nextMarker));
        }