code: public OAuthFlow build() {
          if(httpClient == null){
              httpClient = new DefaultHttpClient();
          }
  
          if(tokenURL == null){
              tokenURL = DEFAULT_TOKEN_URL;
          }
  
          if(authorizationURL == null){
              authorizationURL = DEFAULT_AUTHORIZATION_URL;
          }
  
          if(jsonSerializer == null){
              jsonSerializer = new JacksonJsonSerializer();
          }
  
          if(clientId == null || clientSecret == null || redirectURL == null){
              throw new IllegalStateException();
          }
  
          return new OAuthFlowImpl(clientId, clientSecret, redirectURL, authorizationURL, tokenURL, httpClient,
                  jsonSerializer);
      }
docs: Build the OAuthFlow instance.
  
  @return the OAuthFlow instance
  @throws IllegalArgumentException if clientId, clientSecret or redirectURL isn't set yet.