Program: 73168
Project: 73168
Buggy source:
/** 
 * Report that an execution error has occurred.  This method is called by the specified manager.
 * @param manager The manager calling this method.
 * @param throwable The throwable being reported.
 */
public void executionError(Manager manager,Throwable throwable){
  getFrame().report(throwable);
  if (throwable instanceof KernelException) {
    highlightError(((KernelException)throwable).getNameable1());
    highlightError(((KernelException)throwable).getNameable2());
    if (throwable instanceof TypeConflictException) {
      Iterator<?> inequalities=((TypeConflictException)throwable).inequalityList().iterator();
      while (inequalities.hasNext()) {
        Object item=inequalities.next();
        if (item instanceof InequalityTerm) {
          Object object=((InequalityTerm)item).getAssociatedObject();
          if (object instanceof Nameable) {
            highlightError((Nameable)object);
          }
        }
 else         if (item instanceof Inequality) {
          Inequality inequality=(Inequality)inequalities.next();
          InequalityTerm term=inequality.getGreaterTerm();
          if (term != null) {
            Object object=term.getAssociatedObject();
            if (object instanceof Nameable) {
              highlightError((Nameable)object);
            }
          }
          term=inequality.getLesserTerm();
          if (term != null) {
            Object object=term.getAssociatedObject();
            if (object instanceof Nameable) {
              highlightError((Nameable)object);
            }
          }
        }
      }
    }
  }
 else   if (throwable instanceof KernelRuntimeException) {
    Iterator<?> causes=((KernelRuntimeException)throwable).getNameables().iterator();
    while (causes.hasNext()) {
      highlightError((Nameable)causes.next());
    }
  }
}

Fixed version (ground truth):
/** 
 * Report that an execution error has occurred.  This method is called by the specified manager.
 * @param manager The manager calling this method.
 * @param throwable The throwable being reported.
 */
public void executionError(Manager manager,Throwable throwable){
  getFrame().report(throwable);
  if (throwable instanceof KernelException) {
    highlightError(((KernelException)throwable).getNameable1());
    highlightError(((KernelException)throwable).getNameable2());
    if (throwable instanceof TypeConflictException) {
      Iterator<?> inequalities=((TypeConflictException)throwable).inequalityList().iterator();
      while (inequalities.hasNext()) {
        Object item=inequalities.next();
        if (item instanceof InequalityTerm) {
          Object object=((InequalityTerm)item).getAssociatedObject();
          if (object instanceof Nameable) {
            highlightError((Nameable)object);
          }
        }
 else         if (item instanceof Inequality) {
          Inequality inequality=(Inequality)item;
          InequalityTerm term=inequality.getGreaterTerm();
          if (term != null) {
            Object object=term.getAssociatedObject();
            if (object instanceof Nameable) {
              highlightError((Nameable)object);
            }
          }
          term=inequality.getLesserTerm();
          if (term != null) {
            Object object=term.getAssociatedObject();
            if (object instanceof Nameable) {
              highlightError((Nameable)object);
            }
          }
        }
      }
    }
  }
 else   if (throwable instanceof KernelRuntimeException) {
    Iterator<?> causes=((KernelRuntimeException)throwable).getNameables().iterator();
    while (causes.hasNext()) {
      highlightError((Nameable)causes.next());
    }
  }
}