code: def intersection(self, other):
          
          if self.capacity != other.capacity or \
              self.error_rate != other.error_rate:
              raise ValueError("Intersecting filters requires both filters to \
  have equal capacity and error rate")
          new_bloom = self.copy()
          new_bloom.bitarray = new_bloom.bitarray & other.bitarray
          return new_bloom
docs: Calculates the intersection of the two underlying bitarrays and returns
          a new bloom filter object.