Program: 26286
Project: 26286
Buggy source:
@Override public void onActivityCreated(Bundle savedInstanceState){
  Log.d(LOG_TAG,"String_Node_Str");
  super.onActivityCreated(savedInstanceState);
  int errorCode=GooglePlusUtil.checkGooglePlusApp(getActivity());
  if (errorCode != GooglePlusUtil.SUCCESS) {
    GooglePlusUtil.getErrorDialog(errorCode,getActivity(),0).show();
  }
  mClient=new GroupDirectory();
  mSpinnerAdapter=new ChapterAdapter(getActivity(),android.R.layout.simple_list_item_1);
  mLocationFinder=new GingerbreadLastLocationFinder(getActivity());
  mLastLocation=mLocationFinder.getLastBestLocation(5000,60 * 60 * 1000);
  mFetchChaptersTask=mClient.getDirectory(new Response.Listener<Directory>(){
    @Override public void onResponse(    Directory directory){
      App.getInstance().getModelCache().putAsync("String_Node_Str",directory,DateTime.now().plusDays(4));
      addChapters(directory.getGroups());
      mChapterSpinner.setAdapter(mSpinnerAdapter);
      mLoadSwitcher.setDisplayedChild(1);
    }
  }
,new Response.ErrorListener(){
    @Override public void onErrorResponse(    VolleyError volleyError){
      Crouton.makeText(getActivity(),getString(R.string.fetch_chapters_failed),Style.ALERT).show();
      Log.e(LOG_TAG,"String_Node_Str",volleyError);
    }
  }
);
  App.getInstance().getModelCache().getAsync("String_Node_Str",new ModelCache.CacheListener(){
    @Override public void onGet(    Object item){
      Directory directory=(Directory)item;
      mLoadSwitcher.setDisplayedChild(1);
      addChapters(directory.getGroups());
      mChapterSpinner.setAdapter(mSpinnerAdapter);
    }
    @Override public void onNotFound(    String key){
      mFetchChaptersTask.execute();
    }
  }
);
  mConfirm.setOnClickListener(new View.OnClickListener(){
    @Override public void onClick(    View view){
      Chapter selectedChapter=(Chapter)mChapterSpinner.getSelectedItem();
      getArguments().putParcelable("String_Node_Str",selectedChapter);
      if (getActivity() instanceof Step1Listener)       ((Step1Listener)getActivity()).onConfirmedChapter(selectedChapter);
    }
  }
);
}

Fixed version (ground truth):
@Override public void onActivityCreated(Bundle savedInstanceState){
  Log.d(LOG_TAG,"String_Node_Str");
  super.onActivityCreated(savedInstanceState);
  int errorCode=GooglePlusUtil.checkGooglePlusApp(getActivity());
  if (errorCode != GooglePlusUtil.SUCCESS) {
    GooglePlusUtil.getErrorDialog(errorCode,getActivity(),0).show();
  }
  mClient=new GroupDirectory();
  mSpinnerAdapter=new ChapterAdapter(getActivity(),android.R.layout.simple_list_item_1);
  if (savedInstanceState != null) {
    mSelectedChapter=savedInstanceState.getParcelable("String_Node_Str");
  }
  mLocationFinder=new GingerbreadLastLocationFinder(getActivity());
  mLastLocation=mLocationFinder.getLastBestLocation(5000,60 * 60 * 1000);
  mFetchChaptersTask=mClient.getDirectory(new Response.Listener<Directory>(){
    @Override public void onResponse(    Directory directory){
      App.getInstance().getModelCache().putAsync("String_Node_Str",directory,DateTime.now().plusDays(4));
      addChapters(directory.getGroups());
      mLoadSwitcher.setDisplayedChild(1);
    }
  }
,new Response.ErrorListener(){
    @Override public void onErrorResponse(    VolleyError volleyError){
      Crouton.makeText(getActivity(),getString(R.string.fetch_chapters_failed),Style.ALERT).show();
      Log.e(LOG_TAG,"String_Node_Str",volleyError);
    }
  }
);
  App.getInstance().getModelCache().getAsync("String_Node_Str",new ModelCache.CacheListener(){
    @Override public void onGet(    Object item){
      Directory directory=(Directory)item;
      mLoadSwitcher.setDisplayedChild(1);
      addChapters(directory.getGroups());
    }
    @Override public void onNotFound(    String key){
      mFetchChaptersTask.execute();
    }
  }
);
  mConfirm.setOnClickListener(new View.OnClickListener(){
    @Override public void onClick(    View view){
      Chapter selectedChapter=(Chapter)mChapterSpinner.getSelectedItem();
      getArguments().putParcelable("String_Node_Str",selectedChapter);
      if (getActivity() instanceof Step1Listener)       ((Step1Listener)getActivity()).onConfirmedChapter(selectedChapter);
    }
  }
);
}