anchor.diff:              async { 
                   let blob = Blob.FromPath(info.ConfigurationId, info.ParentJobId, info.ContentId)
                   use! stream = blob.OpenRead()
  -                let _pos = 
  -                    match info.Offset with
  -                    | Some pos -> stream.Seek(pos, SeekOrigin.Begin)
  -                    | _ -> 0L
  -                return Config.Pickler.Deserialize<CloudJob>(stream)
  +                match info.BatchIndex with
  +                | Some i -> 
  +                    let jobs = Config.Pickler.Deserialize<CloudJob []>(stream)
  +                    return jobs.[i]
  +                | _ ->
  +                    return Config.Pickler.Deserialize<CloudJob>(stream)
               }
           
           member this.Id : CloudJobId = info.JobId
  
positive.code:                 let affinity = tryGet Settings.AffinityProperty
                  let deliveryCount = message.DeliveryCount
                  let parentId = fromGuid (message.Properties.[Settings.ParentTaskIdProperty] :?> Guid)
                  let streamPos = tryGet Settings.StreamOffsetProperty
                  let lockToken = message.LockToken
                  let body = fromGuid (message.GetBody<Guid>())
                  let jobId = message.Properties.[Settings.JobIdProperty] :?> Guid
  
negative.code:                     ConfigurationId = config
                      MessageLockId = lockToken
                      ParentJobId = parentId
                      BatchIndex = batchIndex
                      TargetWorker = affinity
                      DeliveryCount = deliveryCount
                      DequeueTime = dequeueTime
  