anchor.diff:              } else {
                 path ="\$basePath\$requestUrl";
               }
  -            url = new UrlPattern(path).generate(urlParams, {});
  +            url = new oauth.UrlPattern(path).generate(urlParams, {});
               _makeJsClientRequest(url, method, body: body, contentType: contentType, queryParams: queryParams)
                 .then((response) {
                   var data = JSON.parse(response);
  
positive.code: 
      var url = new oauth2.UrlPattern(path).generate(urlParams, queryParams);
  
      Future clientCallback(http.Client client) {
        // A dummy completer is used for the 'withClient' method, this should
        // go away after refactoring withClient in oauth2 package
        var clientDummyCompleter = new Completer();
  
        if (method.toLowerCase() == "get") {
          client.get(url).then((http.Response response) {
            var data = JSON.parse(response.body);
            completer.complete(data);
            clientDummyCompleter.complete(null);
          }, onError: (AsyncError error) {
            completer.completeError(new APIRequestException("onError: \$error"));
          });
  
        } else if (method.toLowerCase() == "post" || method.toLowerCase() == "put" || method.toLowerCase() == "patch") {
          // Workaround since http.Client does not properly support post for google apis
          var postHttpClient = new HttpClient();
  
          // On connection request set the content type and key if available.
          postHttpClient.openUrl(method, Uri.parse(url)).then((HttpClientRequest request) {
            request.headers.set(HttpHeaders.CONTENT_TYPE, contentType);
            if (makeAuthRequests && _auth != null) {
              request.headers.set(HttpHeaders.AUTHORIZATION, "Bearer \${_auth.credentials.accessToken}");
            }
  
            request.write(body);
            return request.close();
          }, onError: (error) => completer.completeError(new APIRequestException("POST HttpClientRequest error: \$error")))
          .then((HttpClientResponse response) {
            // On connection response read in data from stream, on close parse as json and return.
            StringBuffer onResponseBody = new StringBuffer();
            response.transform(new StringDecoder()).listen((String data) => onResponseBody.write(data), 
                onError: (error) => completer.completeError(new APIRequestException("POST stream error: \$error")), 
                onDone: () {
                  var data = JSON.parse(onResponseBody.toString());
  
negative.code:         } else {
            tmp.write("  /** OAuth Scope2 */\n");
          }
          tmp.write("  static const core.String ${scopeName}_SCOPE = \"$scope\";\n");
        });
      }
      if (_json.containsKey("parameters")) {
  