[Demonstration 1]

[Buggy Method]
@CallSuper
protected int scrollBy(final int diff, @NonNull final RecyclerView.Recycler recycler, @NonNull final RecyclerView.State state) {
    if (0 == getChildCount() || 0 == diff) {
        return 0;
    }
    final int resultScroll;
    if (mCircleLayout) {
        resultScroll = diff;
        mLayoutHelper.mScrollOffset += resultScroll;
        final int maxOffset = getScrollItemSize() * mItemsCount;
        while (0 > mLayoutHelper.mScrollOffset) {
            mLayoutHelper.mScrollOffset += maxOffset;
        }
        while (mLayoutHelper.mScrollOffset > maxOffset) {
            mLayoutHelper.mScrollOffset -= maxOffset;
        }
        mLayoutHelper.mScrollOffset -= resultScroll;
    } else {
        final int maxOffset = getMaxScrollOffset();
        if (0 > mLayoutHelper.mScrollOffset + diff) {
            //to make it 0
            resultScroll = -mLayoutHelper.mScrollOffset;
        } else if (mLayoutHelper.mScrollOffset + diff > maxOffset) {
            //to make it maxOffset
            resultScroll = maxOffset - mLayoutHelper.mScrollOffset;
        } else {
            resultScroll = diff;
        }
    }
    if (0 != resultScroll) {
        mLayoutHelper.mScrollOffset += resultScroll;
        fillData(recycler, state);
    }
    return resultScroll;
}

[Buggy Hunk]
fillData(recycler, state);

[Patch]
fillData(recycler, state, false);

[Demonstration 2]

[Buggy Method]
private ArrayList<Hypothesis> getDefaultHypothesis() {
    ArrayList<Hypothesis> hypothesis = new ArrayList<>();
    // mean of 0.01    and  0.99 for noise and fullSNP
    // mean of 0.5 for EAX
    hypothesis.add(new Hypothesis(0.001, FIXED_INTENSITY, "Noise"));
    hypothesis.add(new Hypothesis(1, FIXED_INTENSITY, "FullSNP"));
    hypothesis.add(new Hypothesis(0.5, FIXED_INTENSITY, "Equal Allelic Expression"));
    return hypothesis;
}

[Buggy Hunk]
hypothesis.add(new Hypothesis(0.001,FIXED_INTENSITY ,"Noise"));

[Patch]
hypothesis.add(new Hypothesis(0.01,FIXED_INTENSITY ,"Noise"));

[Demonstration 3]

[Buggy Method]
public void upgradeAllSavedDatabases(Context context) {
    Log.d(TAG, "Upgrading all saved databases...");
    DatabaseController databaseController = DatabaseController.getInstance(context);
    ArrayList<File> files = databaseController.getFileList();
    Collections.sort(files, new Comparator<File>() {

        @Override
        public int compare(File f1, File f2) {
            if (f1.lastModified() == f2.lastModified()) {
                return 0;
            }
            return f1.lastModified() < f2.lastModified() ? -1 : 1;
        }
    });
    for (File file : files) {
        Log.d(TAG, "Upgrading file: " + file.getPath());
        Log.d(TAG, "last modified: " + file.lastModified());
        SQLiteDatabase database = databaseModel.getReadableDatabase(file);
        database.close();
    }
    Log.d(TAG, "Upgrade finished!");
}

[Buggy Hunk]
database.close();

[Patch]
databaseModel.close(file);