anchor.diff:              use webClient = new WebClient()
               webClient.DownloadFile(_lastKBUpdateUrl.Value, tmpZipFilename)
               let unzippedDirectory = unzip(tmpZipFilename)
  -            copyDirectoryToDataDirectoryInSafeWay(unzippedDirectory)
  +            copyDirectoryToDataDirectoryInSafeWay(unzippedDirectory, callback)
               Configuration.saveProperty("KB", _lastKB.Value)
               Configuration.saveConfiguration(configurationFilename)
positive.code: 
          destDirectory
  
      let copyDirectoryToDataDirectoryInSafeWay(directory: String) =
          let srcDirectory = 
              if directory.EndsWith(Path.DirectorySeparatorChar.ToString()) then directory
              else directory + Path.DirectorySeparatorChar.ToString()
  
negative.code:             
              if not <| File.Exists(destFilename) then
                  File.Copy(filename, destFilename)
                  callback(destFilename)
  
      let updateKnowledgeBase(configurationFilename: String, callback: String -> unit) =
          if _lastKB.IsNone then
  