Program: 14905
Project: 14905
Buggy source:
public View getView(final int position,View convertView,ViewGroup parent){
  final Comment comment=mComments.get(position);
  final CommentHolder holder;
  if (convertView == null || convertView.getTag() == null) {
    convertView=mInflater.inflate(R.layout.comment_row,null);
    holder=new CommentHolder(convertView);
    convertView.setTag(holder);
  }
 else {
    holder=(CommentHolder)convertView.getTag();
  }
  holder.txtName.setText(comment.hasAuthorName() ? comment.getAuthorName() : mAnonymous);
  holder.txtPostTitle.setText(comment.getUnescapedPostTitle());
  holder.txtComment.setText(comment.getUnescapedCommentText());
  holder.txtDate.setText(DateTimeUtils.javaDateToTimeSpan(comment.getDatePublished()));
switch (comment.getStatusEnum()) {
case SPAM:
    holder.txtStatus.setText(mStatusTextSpam);
  holder.txtStatus.setTextColor(mStatusColorSpam);
holder.txtStatus.setVisibility(View.VISIBLE);
break;
case UNAPPROVED:
holder.txtStatus.setText(mStatusTextUnapproved);
holder.txtStatus.setTextColor(mStatusColorUnapproved);
holder.txtStatus.setVisibility(View.VISIBLE);
break;
default :
holder.txtStatus.setVisibility(View.GONE);
break;
}
if (mEnableSelection && isItemSelected(position)) {
convertView.setBackgroundDrawable(mSelectedBackground);
if (holder.imgCheckmark.getVisibility() != View.VISIBLE) holder.imgCheckmark.setVisibility(View.VISIBLE);
}
 else {
if (mHighlightedCommentId == comment.commentID) {
convertView.setBackgroundDrawable(mSelectedBackground);
}
 else {
convertView.setBackgroundDrawable(null);
}
if (holder.imgCheckmark.getVisibility() == View.VISIBLE) holder.imgCheckmark.setVisibility(View.GONE);
String avatarUrl=comment.getAvatarForDisplay(mAvatarSz);
if (!TextUtils.isEmpty(avatarUrl)) {
holder.imgAvatar.setImageUrl(avatarUrl,WPNetworkImageView.ImageType.AVATAR);
}
 else {
holder.imgAvatar.setImageDrawable(mDefaultAvatar);
}
}
if (mOnLoadMoreListener != null && position >= getCount() - 1) mOnLoadMoreListener.onLoadMore();
return convertView;
}

Fixed version (ground truth):
public View getView(final int position,View convertView,ViewGroup parent){
  final Comment comment=mComments.get(position);
  final CommentHolder holder;
  if (convertView == null || convertView.getTag() == null) {
    convertView=mInflater.inflate(R.layout.comment_row,null);
    holder=new CommentHolder(convertView);
    convertView.setTag(holder);
  }
 else {
    holder=(CommentHolder)convertView.getTag();
  }
  holder.txtName.setText(comment.hasAuthorName() ? comment.getAuthorName() : mAnonymous);
  holder.txtPostTitle.setText(comment.getUnescapedPostTitle());
  holder.txtComment.setText(comment.getUnescapedCommentText());
  holder.txtDate.setText(DateTimeUtils.javaDateToTimeSpan(comment.getDatePublished()));
switch (comment.getStatusEnum()) {
case SPAM:
    holder.txtStatus.setText(mStatusTextSpam);
  holder.txtStatus.setTextColor(mStatusColorSpam);
holder.txtStatus.setVisibility(View.VISIBLE);
break;
case UNAPPROVED:
holder.txtStatus.setText(mStatusTextUnapproved);
holder.txtStatus.setTextColor(mStatusColorUnapproved);
holder.txtStatus.setVisibility(View.VISIBLE);
break;
default :
holder.txtStatus.setVisibility(View.GONE);
break;
}
final boolean useSelectionBackground;
if (mEnableSelection && isItemSelected(position)) {
useSelectionBackground=true;
if (holder.imgCheckmark.getVisibility() != View.VISIBLE) holder.imgCheckmark.setVisibility(View.VISIBLE);
}
 else {
useSelectionBackground=(mHighlightedCommentId == comment.commentID);
if (holder.imgCheckmark.getVisibility() == View.VISIBLE) holder.imgCheckmark.setVisibility(View.GONE);
String avatarUrl=comment.getAvatarForDisplay(mAvatarSz);
if (!TextUtils.isEmpty(avatarUrl)) {
holder.imgAvatar.setImageUrl(avatarUrl,WPNetworkImageView.ImageType.AVATAR);
}
 else {
holder.imgAvatar.setImageDrawable(mDefaultAvatar);
}
}
if (useSelectionBackground) {
convertView.setBackgroundColor(mSelectionColor);
}
 else {
convertView.setBackgroundDrawable(null);
}
if (mOnLoadMoreListener != null && position >= getCount() - 1) mOnLoadMoreListener.onLoadMore();
return convertView;
}