anchor.diff:          if isNotBlank req.FileName then getFileDataSource (req)
           else getSearchQueryDataSource (req)
       
  -    let performDuplicateDetection (jobId, indexWriter : IndexWriter.T, req : DuplicateDetectionRequest) = 
  +    let performDuplicateDetection (jobId, indexWriter : IndexWriter.T, req : DuplicateDetectionRequest, profileQuery : SearchQuery) = 
           let session = 
               new Session(IndexName = req.IndexName, ProfileName = req.ProfileName, DisplayFieldName = req.DisplayName, 
                           JobStartTime = DateTime.Now, ThreadCount = req.ThreadCount, 
  
positive.code:             | Ok(_) -> ()
              | Fail(error) -> Logger.Log error
      
      let duplicateRecordCheck (req : DuplicateDetectionRequest, record : Dictionary<string, string>, session : Session) = 
          let query = 
              new SearchQuery(session.IndexName, String.Empty, SearchProfile = session.ProfileName, 
                              Columns = [| session.DisplayFieldName |], ReturnFlatResult = true, ReturnScore = true)
  
negative.code:             if header.TargetRecords
                 |> Array.length
                 > 0 then 
  
                  // Only assign the id after the record is confirmed to have a duplicate otherwise 
                  // the DuplicateCount will be wrong
                  header.SourceId <- (int <| req.NextId.Increment())
  