public boolean equals(Object obj){
		if(obj==null){
			return false;
		}
		
		if(getClass()!=obj.getClass()){
			return false;
		}
		BloomFilter<E> o2 = (BloomFilter<E>) obj;
		final BloomFilter<E> other=o2;
		if(this.expectedNumOfElements!=other.expectedNumOfElements){
			return false;
		}
		if(this.k!=other.k){
			return false;
		}
		if(this.bitSetSize!=other.bitSetSize){
			return false;
		}
		if(this.bitSet!=other.bitSet&&(this.bitSet==null)||!this.bitSet.equals(other.bitSet)){
			return false;
		}
		return true;
	}