anchor.diff:    }
   }
   
  +/**
  + * Represents a response for exchanging a code for a token.
  + */
   class ExchangeResponse {
     final String token;
     final List<String> scopes;
  
positive.code:     });
    }
    
    Future<ExchangeResponse> exchange(String code, [String origin]) {
      var headers = {
        "Accept": "application/json"
  
negative.code: part of github.client;
  
  /**
   * OAuth2 Flow Helper
   */
  class OAuth2Flow {
    /**
     * OAuth2 Client ID
     */
    final String clientId;
    
    /**
     * Requested Scopes
     */
    final List<String> scopes;
    
    /**
     * Redirect URI
     */
    final String redirectUri;
    
    /**
     * State
     */
    final String state;
    
    /**
     * Client Secret
     */
    final String clientSecret;
    
    /**
     * OAuth2 Base URL
     */
    final String baseUrl;
    
    OAuth2Flow(this.clientId, this.clientSecret, {String redirectUri, this.scopes: const [], this.state, this.baseUrl: "https://github.com/login/oauth"})
  