Program: 13792
Project: 13792
Buggy source:
@Override public void onBindViewHolder(RecyclerView.ViewHolder holder,int position){
  if (holder instanceof PostHeaderHolder) {
    PostHeaderHolder headerHolder=(PostHeaderHolder)holder;
    headerHolder.mHeaderView.setPost(mPost);
    if (mIsHeaderClickEnabled) {
      headerHolder.mHeaderView.setOnClickListener(new View.OnClickListener(){
        @Override public void onClick(        View view){
          ReaderActivityLauncher.showReaderPostDetail(view.getContext(),mPost.blogId,mPost.postId);
        }
      }
);
    }
    return;
  }
  final ReaderComment comment=getItem(position);
  if (comment == null) {
    return;
  }
  final CommentHolder commentHolder=(CommentHolder)holder;
  commentHolder.txtAuthor.setText(comment.getAuthorName());
  java.util.Date dtPublished=DateTimeUtils.dateFromIso8601(comment.getPublished());
  commentHolder.txtDate.setText(DateTimeUtils.javaDateToTimeSpan(dtPublished,WordPress.getContext()));
  if (comment.hasAuthorAvatar()) {
    String avatarUrl=GravatarUtils.fixGravatarUrl(comment.getAuthorAvatar(),mAvatarSz);
    commentHolder.imgAvatar.setImageUrl(avatarUrl,WPNetworkImageView.ImageType.AVATAR);
  }
 else {
    commentHolder.imgAvatar.showDefaultGravatarImage();
  }
  if (comment.hasAuthorBlogId()) {
    View.OnClickListener authorListener=new View.OnClickListener(){
      @Override public void onClick(      View view){
        ReaderActivityLauncher.showReaderBlogPreview(view.getContext(),comment.authorBlogId);
      }
    }
;
    commentHolder.imgAvatar.setOnClickListener(authorListener);
    commentHolder.txtAuthor.setOnClickListener(authorListener);
  }
 else {
    commentHolder.imgAvatar.setOnClickListener(null);
    commentHolder.txtAuthor.setOnClickListener(null);
  }
  if (comment.authorId == mPost.authorId) {
    commentHolder.txtAuthor.setTextColor(mColorAuthor);
  }
 else {
    commentHolder.txtAuthor.setTextColor(mColorNotAuthor);
  }
  int indentWidth;
  if (comment.parentId != 0 && comment.level > 0) {
    indentWidth=Math.min(MAX_INDENT_LEVEL,comment.level) * mIndentPerLevel;
    RelativeLayout.LayoutParams params=(RelativeLayout.LayoutParams)commentHolder.spacerIndent.getLayoutParams();
    params.width=indentWidth;
    commentHolder.spacerIndent.setVisibility(View.VISIBLE);
  }
 else {
    indentWidth=0;
    commentHolder.spacerIndent.setVisibility(View.GONE);
  }
  int maxImageWidth=mContentWidth - indentWidth;
  CommentUtils.displayHtmlComment(commentHolder.txtText,comment.getText(),maxImageWidth,mImageLoader);
  if (mHighlightCommentId != 0 && mHighlightCommentId == comment.commentId) {
    commentHolder.container.setBackgroundColor(mColorHighlight);
    commentHolder.progress.setVisibility(mShowProgressForHighlightedComment ? View.VISIBLE : View.GONE);
  }
 else {
    commentHolder.container.setBackgroundColor(Color.WHITE);
    commentHolder.progress.setVisibility(View.GONE);
  }
  if (!mAccountStore.hasAccessToken()) {
    commentHolder.replyView.setVisibility(View.GONE);
  }
 else {
    commentHolder.replyView.setOnClickListener(new View.OnClickListener(){
      @Override public void onClick(      View v){
        if (mReplyListener != null) {
          mReplyListener.onRequestReply(comment.commentId);
        }
      }
    }
);
    if (mAnimateLikeCommentId != 0 && mAnimateLikeCommentId == comment.commentId) {
      commentHolder.countLikes.postDelayed(new Runnable(){
        @Override public void run(){
          ReaderAnim.animateLikeButton(commentHolder.countLikes.getImageView(),true);
        }
      }
,400);
      mAnimateLikeCommentId=0;
    }
  }
  showLikeStatus(commentHolder,position);
  if (mMoreCommentsExist && mDataRequestedListener != null && (position >= getItemCount() - NUM_HEADERS)) {
    mDataRequestedListener.onRequestData();
  }
}

Fixed version (ground truth):
@Override public void onBindViewHolder(RecyclerView.ViewHolder holder,int position){
  if (holder instanceof PostHeaderHolder) {
    PostHeaderHolder headerHolder=(PostHeaderHolder)holder;
    headerHolder.mHeaderView.setPost(mPost);
    if (mIsHeaderClickEnabled) {
      headerHolder.mHeaderView.setOnClickListener(new View.OnClickListener(){
        @Override public void onClick(        View view){
          ReaderActivityLauncher.showReaderPostDetail(view.getContext(),mPost.blogId,mPost.postId);
        }
      }
);
    }
    return;
  }
  final ReaderComment comment=getItem(position);
  if (comment == null) {
    return;
  }
  final CommentHolder commentHolder=(CommentHolder)holder;
  commentHolder.txtAuthor.setText(comment.getAuthorName());
  java.util.Date dtPublished=DateTimeUtils.dateFromIso8601(comment.getPublished());
  commentHolder.txtDate.setText(DateTimeUtils.javaDateToTimeSpan(dtPublished,WordPress.getContext()));
  if (comment.hasAuthorAvatar()) {
    String avatarUrl=GravatarUtils.fixGravatarUrl(comment.getAuthorAvatar(),mAvatarSz);
    commentHolder.imgAvatar.setImageUrl(avatarUrl,WPNetworkImageView.ImageType.AVATAR);
  }
 else {
    commentHolder.imgAvatar.showDefaultGravatarImageAndNullifyUrl();
  }
  if (comment.hasAuthorBlogId()) {
    View.OnClickListener authorListener=new View.OnClickListener(){
      @Override public void onClick(      View view){
        ReaderActivityLauncher.showReaderBlogPreview(view.getContext(),comment.authorBlogId);
      }
    }
;
    commentHolder.imgAvatar.setOnClickListener(authorListener);
    commentHolder.txtAuthor.setOnClickListener(authorListener);
  }
 else {
    commentHolder.imgAvatar.setOnClickListener(null);
    commentHolder.txtAuthor.setOnClickListener(null);
  }
  if (comment.authorId == mPost.authorId) {
    commentHolder.txtAuthor.setTextColor(mColorAuthor);
  }
 else {
    commentHolder.txtAuthor.setTextColor(mColorNotAuthor);
  }
  int indentWidth;
  if (comment.parentId != 0 && comment.level > 0) {
    indentWidth=Math.min(MAX_INDENT_LEVEL,comment.level) * mIndentPerLevel;
    RelativeLayout.LayoutParams params=(RelativeLayout.LayoutParams)commentHolder.spacerIndent.getLayoutParams();
    params.width=indentWidth;
    commentHolder.spacerIndent.setVisibility(View.VISIBLE);
  }
 else {
    indentWidth=0;
    commentHolder.spacerIndent.setVisibility(View.GONE);
  }
  int maxImageWidth=mContentWidth - indentWidth;
  CommentUtils.displayHtmlComment(commentHolder.txtText,comment.getText(),maxImageWidth,mImageLoader);
  if (mHighlightCommentId != 0 && mHighlightCommentId == comment.commentId) {
    commentHolder.container.setBackgroundColor(mColorHighlight);
    commentHolder.progress.setVisibility(mShowProgressForHighlightedComment ? View.VISIBLE : View.GONE);
  }
 else {
    commentHolder.container.setBackgroundColor(Color.WHITE);
    commentHolder.progress.setVisibility(View.GONE);
  }
  if (!mAccountStore.hasAccessToken()) {
    commentHolder.replyView.setVisibility(View.GONE);
  }
 else {
    commentHolder.replyView.setOnClickListener(new View.OnClickListener(){
      @Override public void onClick(      View v){
        if (mReplyListener != null) {
          mReplyListener.onRequestReply(comment.commentId);
        }
      }
    }
);
    if (mAnimateLikeCommentId != 0 && mAnimateLikeCommentId == comment.commentId) {
      commentHolder.countLikes.postDelayed(new Runnable(){
        @Override public void run(){
          ReaderAnim.animateLikeButton(commentHolder.countLikes.getImageView(),true);
        }
      }
,400);
      mAnimateLikeCommentId=0;
    }
  }
  showLikeStatus(commentHolder,position);
  if (mMoreCommentsExist && mDataRequestedListener != null && (position >= getItemCount() - NUM_HEADERS)) {
    mDataRequestedListener.onRequestData();
  }
}