Program: 112375
Project: 112375
Buggy source:
/** 
 * Override this method to customize each cell given a   {@link ParseObject}. <p/> If a view is not provided, a default view will be created based upon  {@code android.R.layout.activity_list_item}. <p/> This method expects a   {@code TextView} with id {@code android.R.id.text1} in your object views.If  {@link #setImageKey(String)} was used, this method also expects an {@code ImageView} with id{@code android.R.id.icon}. <p/> This method displays the text value specified by the text key (set via  {@link #setTextKey(String)}) and an image (described by a   {@link ParseFile}, under the key set via   {@link #setImageKey(String)}) if applicable. If the text key is not set, the value for  {@link ParseObject#getObjectId()} will be displayed instead.
 * @param object The  {@link ParseObject} associated with this item.
 * @param v The  {@code View} associated with this row. This view, if non-null, is being recycledand intended to be used for displaying this item.
 * @param parent The parent that this view will eventually be attached to
 * @return The customized view displaying the {@link ParseObject}'s information.
 */
public View getItemView(T object,View v,ViewGroup parent){
  if (v == null) {
    v=getDefaultView(parent.getContext());
  }
  TextView textView;
  try {
    textView=(TextView)v.findViewById(android.R.id.text1);
  }
 catch (  ClassCastException ex) {
    throw new IllegalStateException("String_Node_Str",ex);
  }
  if (textView != null) {
    if (textKey == null) {
      textView.setText(object.getObjectId());
    }
 else     if (object.get(textKey) != null) {
      textView.setText(object.get(textKey).toString());
    }
 else {
      textView.setText(null);
    }
  }
  if (imageKey != null) {
    ParseImageView imageView;
    try {
      imageView=(ParseImageView)v.findViewById(android.R.id.icon);
    }
 catch (    ClassCastException ex) {
      throw new IllegalStateException("String_Node_Str",ex);
    }
    if (imageView == null) {
      throw new IllegalStateException("String_Node_Str");
    }
    if (!imageViewSet.containsKey(imageView)) {
      imageViewSet.put(imageView,null);
    }
    imageView.setPlaceholder(placeholder);
    imageView.setParseFile((ParseFile)object.get(imageKey));
    imageView.loadInBackground();
  }
  return v;
}

Fixed version (ground truth):
/** 
 * Override this method to customize each cell given a   {@link ParseObject}. <p> If a view is not provided, a default view will be created based upon  {@code android.R.layout.activity_list_item}. <p> This method expects a   {@code TextView} with id {@code android.R.id.text1} in your object views.If  {@link #setImageKey(String)} was used, this method also expects an {@code ImageView} with id{@code android.R.id.icon}. <p> This method displays the text value specified by the text key (set via  {@link #setTextKey(String)}) and an image (described by a   {@link ParseFile}, under the key set via   {@link #setImageKey(String)}) if applicable. If the text key is not set, the value for  {@link ParseObject#getObjectId()} will be displayed instead.
 * @param object The  {@link ParseObject} associated with this item.
 * @param v The  {@code View} associated with this row. This view, if non-null, is being recycledand intended to be used for displaying this item.
 * @param parent The parent that this view will eventually be attached to
 * @return The customized view displaying the {@link ParseObject}'s information.
 */
public View getItemView(T object,View v,ViewGroup parent){
  if (v == null) {
    v=getDefaultView(parent.getContext());
  }
  TextView textView;
  try {
    textView=(TextView)v.findViewById(android.R.id.text1);
  }
 catch (  ClassCastException ex) {
    throw new IllegalStateException("String_Node_Str",ex);
  }
  if (textView != null) {
    if (textKey == null) {
      textView.setText(object.getObjectId());
    }
 else     if (object.get(textKey) != null) {
      textView.setText(object.get(textKey).toString());
    }
 else {
      textView.setText(null);
    }
  }
  if (imageKey != null) {
    ParseImageView imageView;
    try {
      imageView=(ParseImageView)v.findViewById(android.R.id.icon);
    }
 catch (    ClassCastException ex) {
      throw new IllegalStateException("String_Node_Str",ex);
    }
    if (imageView == null) {
      throw new IllegalStateException("String_Node_Str");
    }
    if (!imageViewSet.containsKey(imageView)) {
      imageViewSet.put(imageView,null);
    }
    imageView.setPlaceholder(placeholder);
    imageView.setParseFile((ParseFile)object.get(imageKey));
    imageView.loadInBackground();
  }
  return v;
}