anchor.diff:      return uri.contains("?") ? uri.substring(0, uri.indexOf("?")) : uri;
     }
     
  +  /**
  +   * Generates an Authorization URL
  +   * 
  +   * This should be displayed to the user.
  +   */
     String createAuthorizeUrl() {
       return baseUrl + "/authorize" + buildQueryString({
         "client_id": clientId,
  
positive.code:   }
  }
  
  class ExchangeResponse {
    final String token;
    final List<String> scopes;
  
negative.code:     });
    }
    
    /**
     * Exchanges the given [code] for a token.
     */
    Future<ExchangeResponse> exchange(String code, [String origin]) {
      var headers = {
        "Accept": "application/json"
  