Program: 90239
Project: 90239
Buggy source:
/** 
 * Computes the in-place bitwise OR of this container with another (union). The current container is generally modified, whereas the provided container (x) is unaffected. May generate a new container. The resulting container may not track its cardinality correctly. The resulting container may not track its cardinality correctly. This can be fixed as follows:   if(c.getCardinality()&lt;0) ((MappeableBitmapContainer)c).computeCardinality();
 * @param x other container
 * @return aggregated container
 */
public MappeableContainer lazyIOR(MappeableContainer x){
  if (this instanceof MappeableArrayContainer) {
    if (x instanceof MappeableArrayContainer)     return ior((MappeableArrayContainer)x);
 else     if (x instanceof MappeableBitmapContainer)     return ((MappeableBitmapContainer)x).lazyor((MappeableArrayContainer)this);
    return ((MappeableRunContainer)x).lazyor((MappeableArrayContainer)this);
  }
 else   if (this instanceof MappeableRunContainer) {
    if (x instanceof MappeableArrayContainer)     return ((MappeableRunContainer)this).lazyor((MappeableArrayContainer)x);
 else     if (x instanceof MappeableBitmapContainer)     return ((MappeableBitmapContainer)x).lazyor((MappeableRunContainer)this);
    return ior((MappeableRunContainer)x);
  }
 else {
    if (x instanceof MappeableArrayContainer)     return ((MappeableBitmapContainer)this).ilazyor((MappeableArrayContainer)x);
 else     if (x instanceof MappeableBitmapContainer)     return ((MappeableBitmapContainer)this).ilazyor((MappeableBitmapContainer)x);
    return ((MappeableBitmapContainer)this).ilazyor((MappeableRunContainer)x);
  }
}

Fixed version (ground truth):
/** 
 * Computes the in-place bitwise OR of this container with another (union). The current container is generally modified, whereas the provided container (x) is unaffected. May generate a new container. The resulting container may not track its cardinality correctly. The resulting container may not track its cardinality correctly. This can be fixed as follows:   if(c.getCardinality()&lt;0) ((MappeableBitmapContainer)c).computeCardinality();
 * @param x other container
 * @return aggregated container
 */
public MappeableContainer lazyIOR(MappeableContainer x){
  if (this instanceof MappeableArrayContainer) {
    if (x instanceof MappeableArrayContainer)     return ior((MappeableArrayContainer)x);
 else     if (x instanceof MappeableBitmapContainer)     return ((MappeableBitmapContainer)x).lazyor((MappeableArrayContainer)this);
    return ((MappeableRunContainer)x).lazyor((MappeableArrayContainer)this);
  }
 else   if (this instanceof MappeableRunContainer) {
    if (x instanceof MappeableArrayContainer)     return ((MappeableRunContainer)this).ilazyor((MappeableArrayContainer)x);
 else     if (x instanceof MappeableBitmapContainer)     return ((MappeableBitmapContainer)x).lazyor((MappeableRunContainer)this);
    return ior((MappeableRunContainer)x);
  }
 else {
    if (x instanceof MappeableArrayContainer)     return ((MappeableBitmapContainer)this).ilazyor((MappeableArrayContainer)x);
 else     if (x instanceof MappeableBitmapContainer)     return ((MappeableBitmapContainer)this).ilazyor((MappeableBitmapContainer)x);
    return ((MappeableBitmapContainer)this).ilazyor((MappeableRunContainer)x);
  }
}