@Override public Set<E> union(Set<E> S) { Set<E> union = this.clone(); if (union.isEmpty()) return S; if (S.isEmpty()) return union; do { E el = S.getRemove(); if (!union.setList.find(el)) { union.addElement(el); } } while (!S.isEmpty()); return union; }