public SmallDocSet union(SmallDocSet other) {SmallDocSet bigger;SmallDocSet smaller;if (other.intSet.size() > this.intSet.size()) {bigger = other;smaller = this;} else {bigger = this;smaller = other;}for (int v : smaller.intSet.keys) {if (v == smaller.intSet.emptyVal)continue;bigger.set(v);}return bigger;}

public virtual SmallDocSet Union(SmallDocSet other){SmallDocSet bigger;SmallDocSet smaller;if (other.intSet.Count > this.intSet.Count){bigger = other;smaller = this;}else{bigger = this;smaller = other;}foreach (int v in smaller.intSet.Keys){if (v == smaller.intSet.EmptyVal){continue;}bigger.Set(v);}return bigger;}
