Program: 92527
Project: 92527
Buggy source:
@Override public final void onClick(View v){
  String tag=(String)v.getTag();
  if (tag.equals(POSITIVE)) {
    if (listCallbackSingle != null) {
      if (autoDismiss)       dismiss();
      sendSingleChoiceCallback(v);
    }
 else     if (listCallbackMulti != null) {
      if (autoDismiss)       dismiss();
      sendMultichoiceCallback();
    }
 else     if (callback != null) {
      if (autoDismiss)       dismiss();
      callback.onPositive(this);
    }
 else     if (autoDismiss)     dismiss();
  }
 else   if (tag.equals(NEGATIVE)) {
    if (callback != null && callback instanceof Callback) {
      if (autoDismiss)       dismiss();
      ((Callback)callback).onNegative(this);
    }
 else     if (autoDismiss)     dismiss();
  }
 else   if (tag.equals(NEUTRAL)) {
    if (callback != null && callback instanceof FullCallback) {
      if (autoDismiss)       dismiss();
      ((FullCallback)callback).onNeutral(this);
    }
 else     if (autoDismiss)     dismiss();
  }
 else {
    String[] split=tag.split("String_Node_Str");
    int index=Integer.parseInt(split[0]);
    if (listCallback != null) {
      if (autoDismiss)       dismiss();
      listCallback.onSelection(this,v,index,split[1]);
    }
 else     if (listCallbackSingle != null) {
      RadioButton cb=(RadioButton)((LinearLayout)v).getChildAt(0);
      if (!cb.isChecked())       cb.setChecked(true);
      invalidateSingleChoice(index);
      if (!hasActionButtons()) {
        sendSingleChoiceCallback(v);
      }
    }
 else     if (listCallbackMulti != null) {
      CheckBox cb=(CheckBox)((LinearLayout)v).getChildAt(0);
      cb.setChecked(!cb.isChecked());
      if (!hasActionButtons()) {
        sendMultichoiceCallback();
      }
    }
 else     if (autoDismiss)     dismiss();
  }
}

Fixed version (ground truth):
@Override public final void onClick(View v){
  String tag=(String)v.getTag();
  if (tag.equals(POSITIVE)) {
    if (listCallbackSingle != null) {
      if (autoDismiss)       dismiss();
      sendSingleChoiceCallback(v);
    }
 else     if (listCallbackMulti != null) {
      if (autoDismiss)       dismiss();
      sendMultichoiceCallback();
    }
 else     if (callback != null) {
      if (autoDismiss)       dismiss();
      callback.onPositive(this);
    }
 else     if (autoDismiss)     dismiss();
  }
 else   if (tag.equals(NEGATIVE)) {
    if (callback != null && callback instanceof Callback) {
      if (autoDismiss)       dismiss();
      ((Callback)callback).onNegative(this);
    }
 else     if (autoDismiss)     dismiss();
  }
 else   if (tag.equals(NEUTRAL)) {
    if (callback != null && callback instanceof FullCallback) {
      if (autoDismiss)       dismiss();
      ((FullCallback)callback).onNeutral(this);
    }
 else     if (autoDismiss)     dismiss();
  }
 else {
    String[] split=tag.split("String_Node_Str");
    int index=Integer.parseInt(split[0]);
    if (listCallback != null) {
      if (autoDismiss)       dismiss();
      listCallback.onSelection(this,v,index,split[1]);
    }
 else     if (listCallbackSingle != null) {
      RadioButton cb=(RadioButton)((LinearLayout)v).getChildAt(0);
      if (!cb.isChecked())       cb.setChecked(true);
      invalidateSingleChoice(index);
      if (positiveText == null) {
        if (autoDismiss)         dismiss();
        sendSingleChoiceCallback(v);
      }
    }
 else     if (listCallbackMulti != null) {
      CheckBox cb=(CheckBox)((LinearLayout)v).getChildAt(0);
      cb.setChecked(!cb.isChecked());
      if (positiveText == null) {
        if (autoDismiss)         dismiss();
        sendMultichoiceCallback();
      }
    }
 else     if (autoDismiss)     dismiss();
  }
}