[Demonstration 1]

[Buggy Method]
@Override
public void onWindowFocusChanged(boolean hasWindowFocus) {
    super.onWindowFocusChanged(hasWindowFocus);
    final String SLIDE_DOWN = "SlideDown";
    final String SLIDE_DOWN_MORE = "SlideDownMore";
    final String ROTATE_CLOCKWISE = "RotateClockWise";
    final String ROTATE_ANTI_CLOCKWISE = "RotateAntiClockWise";
    final String ZOOMIN_AND_ROTATE_CLOCKWISE = "ZoomInAndRotateClockWise";
    if (hasWindowFocus) {
        for (int index = 0; index < getChildCount(); index++) {
            View child = getChildAt(index);
            currentChild = child;
            if (!(child instanceof LinearLayout)) {
                switch(child.getTag().toString()) {
                    case SLIDE_DOWN:
                        animation = new TranslateAnimation(0, 0, -((child.getMeasuredHeight() / 2) * (index + 1)), 0);
                        animation.setInterpolator(new DecelerateInterpolator());
                        animation.setFillAfter(true);
                        animation.setDuration(1000);
                        child.post(new AnimationRunnable(animation, child));
                        //child.startAnimation(animation);
                        break;
                    case SLIDE_DOWN_MORE:
                        animation = new TranslateAnimation(0, 0, -(child.getMeasuredHeight() * (index + 25)), 0);
                        animation.setInterpolator(new DecelerateInterpolator());
                        animation.setFillAfter(true);
                        animation.setDuration(1000);
                        child.post(new AnimationRunnable(animation, child));
                        //child.startAnimation(animation);
                        break;
                    case ROTATE_CLOCKWISE:
                        animation = new RotateAnimation(0, 360, child.getMeasuredWidth() / 2, child.getMeasuredHeight() / 2);
                        animation.setInterpolator(new DecelerateInterpolator());
                        animation.setFillAfter(true);
                        animation.setDuration(1000);
                        child.post(new AnimationRunnable(animation, child));
                        //child.startAnimation(animation);
                        break;
                    case ROTATE_ANTI_CLOCKWISE:
                        animation = new RotateAnimation(0, -360, child.getMeasuredWidth() / 2, child.getMeasuredHeight() / 2);
                        animation.setInterpolator(new DecelerateInterpolator());
                        animation.setFillAfter(true);
                        animation.setDuration(1000);
                        child.post(new AnimationRunnable(animation, child));
                        //child.startAnimation(animation);
                        break;
                    case ZOOMIN_AND_ROTATE_CLOCKWISE:
                        AnimationSet animationSet = new AnimationSet(true);
                        animationSet.setInterpolator(new DecelerateInterpolator());
                        animation = new ScaleAnimation(0, 1, 0, 1, child.getMeasuredWidth() / 2, child.getMeasuredHeight() / 2);
                        animation.setStartOffset(0);
                        animation.setFillAfter(true);
                        animation.setDuration(1000);
                        animationSet.addAnimation(animation);
                        animation = new RotateAnimation(0, 360, child.getMeasuredWidth() / 2, child.getMeasuredHeight() / 2);
                        animation.setStartOffset(0);
                        animation.setFillAfter(true);
                        animation.setDuration(1000);
                        animationSet.addAnimation(animation);
                        child.post(new AnimationSetRunnable(animationSet, child));
                        //child.startAnimation(animationSet);
                        break;
                }
            }
        }
    }
}

[Buggy Hunk]
if(!(child instanceof LinearLayout)) {

[Patch]
if(!(child instanceof ViewGroup)) {

[Demonstration 2]

[Buggy Method]
private void disableAllFields(ViewGroup viewGroup) {
    for (int i = viewGroup.getChildCount() - 1; i >= 0; i--) {
        final View child = viewGroup.getChildAt(i);
        if (child instanceof ViewGroup)
            disableAllFields((ViewGroup) child);
        if (child != null) {
            if (child.getId() != R.id.delete_expense) {
                child.setEnabled(false);
            }
        }
    }
}

[Buggy Hunk]
if (child.getId() != R.id.delete_expense) {

[Patch]
if (child.getId() != R.id.delete_expense && child.getId() != R.id.edit_expense) {

[Demonstration 3]

[Buggy Method]
@Override
public void onbindViewHolder(RecyclerView.ViewHolder holder, int position) {
    RecyclerItemViewHolder viewHolder = (RecyclerItemViewHolder) holder;
    viewHolder.tvTitle.setText(mItemList.get(position - 1));
}

[Buggy Hunk]
viewHolder.tvTitle.setText(mItemList.get(position - 1));

[Patch]
viewHolder.tvTitle.setText(mItemList.get(position));