[Demonstration 1]

[Buggy Method]
@Test
public void testAllocateNoPool() throws InterruptedException, ExecutionException {
    BufferPool.DISABLED = true;
    testAllocate(45, TimeUnit.MINUTES.toNanos(1L));
}

[Buggy Hunk]
testAllocate(45, TimeUnit.MINUTES.toNanos(1L));

[Patch]
testAllocate(45, TimeUnit.MINUTES.toNanos(2L));

[Demonstration 2]

[Buggy Method]
@Override
public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);
    sortOrderPreference = getSortOrder();
    Context context = getActivity();
    SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context);
    String sortKey = context.getString(R.string.pref_sort_key);
    String favorites = context.getString(R.string.pref_sort_favorites);
    if (sp.getString(sortKey, favorites).equals(favorites)) {
        toSortByFavorites = true;
        if (mMovies == null) {
            if (isNetworkAvailable()) {
                FetchMoviesTask fmt = new FetchMoviesTask(getActivity());
                fmt.execute("3");
            } else {
                Toast.makeText(getActivity(), "No network connection", Toast.LENGTH_LONG).show();
            }
        } else {
            populateWithFavorites();
        }
    } else if (savedInstanceState != null && savedInstanceState.containsKey(MOVIE_KEY)) {
        mMovies = (ArrayList<MovieDetails>) savedInstanceState.get(MOVIE_KEY);
        if (mMovies == null) {
            return;
        }
        MatrixCursor matrixCursor = new MatrixCursor(MoviesContract.MoviesEntry.DETAIL_COLUMNS);
        for (MovieDetails details : mMovies) {
            matrixCursor.addRow(details.mDetails);
        }
        mGridAdapter.notifyDataSetChanged();
        mGridAdapter.swapCursor(matrixCursor);
    } else {
        if (isNetworkAvailable()) {
            FetchMoviesTask fmt = new FetchMoviesTask(getActivity());
            fmt.execute("3");
        } else {
            Toast.makeText(getActivity(), "No network connection", Toast.LENGTH_LONG).show();
        }
    }
}

[Buggy Hunk]
if(sp.getString(sortKey, favorites).equals(favorites)) {

[Patch]
if(sp.getString(sortKey, favorites).equals(favorites) && sp.getString(sortKey, null) != null) {

[Demonstration 3]

[Buggy Method]
public final Handleable<Result> out_handleable() {
    return flow.out_handleable();
}

[Buggy Hunk]
return flow.out_handleable();

[Patch]
return dealer.result_handleable();