code: public Container and(Container x) {
      if (x instanceof ArrayContainer) {
        return and((ArrayContainer) x);
      } else if (x instanceof BitmapContainer) {
        return and((BitmapContainer) x);
      }
      return and((RunContainer) x);
    }
docs: Computes the bitwise AND of this container with another (intersection). This container as well
  as the provided container are left unaffected.
  
  @param x other container
  @return aggregated container