()
| 795 | final Iterator<? extends E> itr2 = set2.iterator(); |
| 796 | return new AbstractIterator<E>() { |
| 797 | @Override |
| 798 | public E computeNext() { |
| 799 | while (itr1.hasNext()) { |
| 800 | E elem1 = itr1.next(); |
| 801 | if (!set2.contains(elem1)) { |
| 802 | return elem1; |
| 803 | } |
| 804 | } |
| 805 | |
| 806 | while (itr2.hasNext()) { |
| 807 | E elem2 = itr2.next(); |
| 808 | if (!set1.contains(elem2)) { |
| 809 | return elem2; |
| 810 | } |
| 811 | } |
| 812 | return endOfData(); |
| 813 | } |
| 814 | }; |
| 815 | } |
| 816 |