// Path: android-rest-lib/src/main/java/com/dg/libs/rest/authentication/AuthenticationProvider.java
// public interface AuthenticationProvider {
// 
//   public void authenticateRequest(RestClientRequest restClientRequest);
// }


import android.content.Context;
import com.araneaapps.android.libs.asyncrunners.models.AsyncRunners;
import com.dg.libs.rest.authentication.AuthenticationProvider;
  public Context getContext() {
    return applicationContext;
  }

  public static class ConfigurationBuilder {
    private AuthenticationProvider authenticationProvider;
    private int connectionTimeout = 10000;
    private int readTimeout = 20000;
    private int writeTimeout = 20000;

    public ConfigurationBuilder setAuthenticationProvider(AuthenticationProvider authenticationProvider) {
      this.authenticationProvider = authenticationProvider;
      return this;
    }

    public ConfigurationBuilder setConnectionTimeout(int connectionTimeout) {
      this.connectionTimeout = connectionTimeout;
      return this;
    }

    public ConfigurationBuilder setReadTimeout(int readTimeout) {
      this.readTimeout = readTimeout;
      return this;
    }

    public ConfigurationBuilder setWriteTimeout(int writeTimeout) {
      this.writeTimeout = writeTimeout;
      return this;
    }

// Path: android-rest-lib/src/main/java/com/dg/libs/rest/authentication/AuthenticationProvider.java
// public interface AuthenticationProvider {
// 
//   public void authenticateRequest(RestClientRequest restClientRequest);
// }


// Path: android-rest-lib/src/main/java/com/dg/libs/rest/RestClientConfiguration.java
import android.content.Context;
import com.araneaapps.android.libs.asyncrunners.models.AsyncRunners;
import com.dg.libs.rest.authentication.AuthenticationProvider;

  public Context getContext() {
    return applicationContext;
  }

  public static class ConfigurationBuilder {
    private AuthenticationProvider authenticationProvider;
    private int connectionTimeout = 10000;
    private int readTimeout = 20000;
    private int writeTimeout = 20000;

    public ConfigurationBuilder setAuthenticationProvider(AuthenticationProvider authenticationProvider) {
      this.authenticationProvider = authenticationProvider;
      return this;
    }

    public ConfigurationBuilder setConnectionTimeout(int connectionTimeout) {
      this.connectionTimeout = connectionTimeout;
      return this;
    }

    public ConfigurationBuilder setReadTimeout(int readTimeout) {
      this.readTimeout = readTimeout;
      return this;
    }

    public ConfigurationBuilder setWriteTimeout(int writeTimeout) {
      this.writeTimeout = writeTimeout;
      return this;
    }

    public RestClientConfiguration create() {