anchor.diff:      serverConnection = new _Server(this.sdkPath);
     }
   
  -  Future<api.CompleteResponse> complete(String src, int offset) async {
  +  Future<api.CompleteResponse> complete(String src, int offset) async =>
  +    completeMulti({mainPath : src},
  +      new api.Location()
  +        ..fullName = mainPath
  +        ..offset = offset);
  +
  +  Future<api.CompleteResponse> completeMulti(
  +    Map<String, String> sources,
  +    api.Location location) async {
  +
       Future<Map> results = _completeImpl(
  -        {mainPath : src}, mainPath, offset);
  +      sources, location.fullName, location.offset);
   
       // Post process the result from Analysis Server.
       return results.then((Map response) {
  
positive.code:     });
    }
  
    Future<api.FixesResponse> getFixes(String src, int offset) async {
      var results = _getFixesImpl(src, offset);
      return results.then((fixes) => new api.FixesResponse(fixes.fixes));
    }
  
  
negative.code:   }
  
    Future loadSources(Map<String, String> sources) async {
      await sendAddOverlays(sources);
      await sendPrioritySetSources(sources.keys.toList());
    }
  
    Future unloadSources(List<String> paths) async {
      await sendRemoveOverlays(paths);
    }
  
    /**
  