code: public MappeableContainer lazyOR(MappeableContainer x) {
      if (this instanceof MappeableArrayContainer) {
        if (x instanceof MappeableArrayContainer) {
          return ((MappeableArrayContainer) this).lazyor((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 or((MappeableRunContainer) x);
      } else {
        if (x instanceof MappeableArrayContainer) {
          return ((MappeableBitmapContainer) this).lazyor((MappeableArrayContainer) x);
        } else if (x instanceof MappeableBitmapContainer) {
          return ((MappeableBitmapContainer) this).lazyor((MappeableBitmapContainer) x);
        }
        return ((MappeableBitmapContainer) this).lazyor((MappeableRunContainer) x);
      }
    }
docs: Computes the bitwise OR of this container with another (union). This container as well as the
  provided container are left unaffected. 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