title: Retrofit 2.0.0 Beta2 OkHttpClient interceptor throwing StackOverFlowError
body: <p>I am trying to build an interceptor for logging in. Here is my following code for that:</p>
  
  <pre><code>OkHttpClient client = new OkHttpClient();
          client.interceptors().add(new Interceptor() {
              @Override
              public Response intercept(Chain chain) throws IOException {
                  Request request = chain.request();
                  String authToken = SharedPrefsManager.get(context).getAccessToken();
                  request.newBuilder()
                          .addHeader("Authorization", "Bearer " + authToken)
                          .addHeader("Content-Type", "application/json")
                  .build();
  
  
                  return intercept(chain);
              }
          });
  </code></pre>
  
  <p>My GSON:</p>
  
  <pre><code>  Gson gson = new GsonBuilder()
                  .setExclusionStrategies(new ExclusionStrategy() {
                      @Override
                      public boolean shouldSkipField(FieldAttributes f) {
                          return f.getDeclaringClass().equals(RealmObject.class);
                      }
  
                      @Override
                      public boolean shouldSkipClass(Class&lt;?&gt; clazz) {
                          return false;
                      }
                  })
                  .create();
  </code></pre>
  
  <p>My Retrofit <code>RestAdapter</code>:</p>
  
  <pre><code>   Retrofit restAdapter = new Retrofit.Builder()
                  .baseUrl(Endpoints.ENDPOINT_BASE_URL+Endpoints.ENDPOINT_VERSION)
                  .addConverterFactory(GsonConverterFactory.create())
                  .client(client)
                  .build();
  
          apiInterface = restAdapter.create(ApiService.class);
  </code></pre>
  
  <p>However when I call this service using:</p>
  
  <pre><code>            try {
                      Account myAccount = ApiInterface.getKidMixClient(getActivity()).getAccountDetails().execute().body();
                      callbacks.showDashboard(myAccount.getUser());
                  } catch (IOException e) {
                      e.printStackTrace();
                  }
  </code></pre>
  
  <p>I receive a <code>StackOverFlowError</code>, the following <code>Logcat</code> output:</p>
  
  <pre><code>    java.lang.StackOverflowError: stack size 8MB
  10-08 16:42:39.013 21279-21279/com.kidmixapp.kidmixchild E/AndroidRuntime:     at java.util.ArrayList.&lt;init&gt;(ArrayList.java:71)
  10-08 16:42:39.013 21279-21279/com.kidmixapp.kidmixchild E/AndroidRuntime:     at com.squareup.okhttp.Headers$Builder.&lt;init&gt;(Headers.java:215)
  10-08 16:42:39.013 21279-21279/com.kidmixapp.kidmixchild E/AndroidRuntime:     at com.squareup.okhttp.Headers.newBuilder(Headers.java:121)
  10-08 16:42:39.013 21279-21279/com.kidmixapp.kidmixchild E/AndroidRuntime:     at com.squareup.okhttp.Request$Builder.&lt;init&gt;(Request.java:137)
  10-08 16:42:39.013 21279-21279/com.kidmixapp.kidmixchild E/AndroidRuntime:     at com.squareup.okhttp.Request$Builder.&lt;init&gt;(Request.java:120)
  10-08 16:42:39.013 21279-21279/com.kidmixapp.kidmixchild E/AndroidRuntime:     at com.squareup.okhttp.Request.newBuilder(Request.java:94)
  10-08 16:42:39.013 21279-21279/com.kidmixapp.kidmixchild E/AndroidRuntime:     at com.kidmixapp.commoncode.networking.ApiInterface$1.intercept(ApiInterface.java:39)
  10-08 16:42:39.013 21279-21279/com.kidmixapp.kidmixchild E/AndroidRuntime:     at com.kidmixapp.commoncode.networking.ApiInterface$1.intercept(ApiInterface.java:45)
  10-08 16:42:39.013 21279-21279/com.kidmixapp.kidmixchild E/AndroidRuntime:     at com.kidmixapp.commoncode.networking.ApiInterface$1.intercept(ApiInterface.java:45)
  </code></pre>