Program: 14501
Project: 14501
Buggy source:
public static void showChildViews(ExpandableListAdapter mAdapter,LinearLayout mLinearLayout,int groupPosition,View groupView,boolean animate){
  int childCount=Math.min(mAdapter.getChildrenCount(groupPosition),STATS_CHILD_MAX_ITEMS);
  if (childCount == 0) {
    return;
  }
  final ViewGroup childContainer=(ViewGroup)groupView.findViewById(R.id.layout_child_container);
  if (childContainer == null) {
    return;
  }
  int numExistingViews=childContainer.getChildCount();
  if (childCount < numExistingViews) {
    int numToRemove=numExistingViews - childCount;
    childContainer.removeViews(childCount,numToRemove);
    numExistingViews=childCount;
  }
  for (int i=0; i < childCount; i++) {
    boolean isLastChild=(i == childCount - 1);
    if (i < numExistingViews) {
      View convertView=childContainer.getChildAt(i);
      mAdapter.getChildView(groupPosition,i,isLastChild,convertView,mLinearLayout);
    }
 else {
      View childView=mAdapter.getChildView(groupPosition,i,isLastChild,null,mLinearLayout);
      childView.setPadding(childView.getPaddingLeft(),childView.getPaddingTop(),0,childView.getPaddingBottom());
      childContainer.addView(childView);
    }
  }
  if (childContainer.getVisibility() != View.VISIBLE) {
    if (animate) {
      Animation expand=new ScaleAnimation(1.0f,1.0f,0.0f,1.0f);
      expand.setDuration(ANIM_DURATION);
      expand.setInterpolator(getInterpolator());
      childContainer.startAnimation(expand);
    }
    childContainer.setVisibility(View.VISIBLE);
  }
  StatsUIHelper.setGroupChevron(true,groupView,animate);
}

Fixed version (ground truth):
public static void showChildViews(ExpandableListAdapter mAdapter,LinearLayout mLinearLayout,int groupPosition,View groupView,boolean animate){
  int childCount=Math.min(mAdapter.getChildrenCount(groupPosition),STATS_CHILD_MAX_ITEMS);
  if (childCount == 0) {
    return;
  }
  final ViewGroup childContainer=(ViewGroup)groupView.findViewById(R.id.layout_child_container);
  if (childContainer == null) {
    return;
  }
  int numExistingViews=childContainer.getChildCount();
  if (childCount < numExistingViews) {
    int numToRemove=numExistingViews - childCount;
    childContainer.removeViews(childCount,numToRemove);
    numExistingViews=childCount;
  }
  for (int i=0; i < childCount; i++) {
    boolean isLastChild=(i == childCount - 1);
    if (i < numExistingViews) {
      View convertView=childContainer.getChildAt(i);
      mAdapter.getChildView(groupPosition,i,isLastChild,convertView,mLinearLayout);
    }
 else {
      View childView=mAdapter.getChildView(groupPosition,i,isLastChild,null,mLinearLayout);
      childView.setPadding(0,childView.getPaddingTop(),0,isLastChild ? 0 : childView.getPaddingBottom());
      setViewBackgroundWithoutResettingPadding(childView,R.drawable.stats_list_item_child_background);
      childContainer.addView(childView);
    }
  }
  if (childContainer.getVisibility() != View.VISIBLE) {
    if (animate) {
      Animation expand=new ScaleAnimation(1.0f,1.0f,0.0f,1.0f);
      expand.setDuration(ANIM_DURATION);
      expand.setInterpolator(getInterpolator());
      childContainer.startAnimation(expand);
    }
    childContainer.setVisibility(View.VISIBLE);
  }
  StatsUIHelper.setGroupChevron(true,groupView,groupPosition,animate);
}