private bool MatchesBucket(int bucketNumber, int bucketCount, PackageHash x)
        {
            if (bucketCount == 1)
            {
                return(true);
            }

            var key = $"{x.Identity.Id}/{x.Identity.Version.ToNormalizedString()}".ToLowerInvariant();

            var bucketIndex = ConsistentHash.DetermineBucket(key, bucketCount);

            // Bucket index is zero-based. Bucket number is one-based.
            return(bucketIndex == bucketNumber - 1);
        }
 public Work(PackageSource source, PackageHash package)
 {
     Source  = source ?? throw new ArgumentNullException(nameof(source));
     Package = package ?? throw new ArgumentNullException(nameof(package));
 }