anchor.diff:    return null;
   }
   
  -class ProcessAnalysisConnection extends AnalysisConnection {
  +class ProcessAnalysisChannel extends AnalysisChannel {
     Process _process;
   
     @override
  
positive.code:     var id = (await send(new GetCompletionSuggestionsRequest(file, offset)) as GetCompletionSuggestionsResponse).id;
      var controller = new StreamController<CompletionResults>.broadcast();
      var sub;
      sub = onEvent("completion.results").where((it) => it["id"] == id).map((it) => new CompletionResults.fromJSON(it)).listen((e) {
        var x = new CompletionResults.fromJSON(e);
        controller.add(x);
  
        if (x.isLast) {
  
negative.code:     var binDir = new File(exePath).parent;
      var snapshot = new File(pathlib.join(binDir.path, "snapshots", "analysis_server.dart.snapshot"));
      if (!(await snapshot.exists())) {
        throw new Exception("Analysis Server Snapshot not found! ${snapshot.path}");
      }
      _process = await Process.start(Platform.executable, [snapshot.path]);
    }
  