package observer;

import java.util.ArrayList;
import java.util.List;

import observer.impl.AbstractCollection;
import observer.impl.Bag;

public class App {

	public static void main(String[] args) {

		AbstractCollection<Integer> a = new Bag<Integer>(new ArrayList<Integer>() {
			{
				add(1);
				add(2);
				add(3);
			}
		});
		AbstractCollection<Integer> b = new Bag<Integer>(new ArrayList<Integer>() {
			{
				add(4);
				add(5);
				add(6);
			}
		});
		AbstractCollection<Integer> d = new Bag<Integer>(new ArrayList<Integer>() {
			{
				add(7);
			}
		});
		C<Integer> c = a.union(b);
		System.out.println(c);
		a.add(1);
		// a.getC();
		System.out.println(c);
	}
}

@@ -558,32 +558,58 @@
 ger%3E() %7B%0D%0A%09%09%09%7B%0D%0A
+%09%09%09%09add(5);%0D%0A%09%09%09%09add(6);%0D%0A
 %09%09%09%09add(7);%0D%0A%09%09%09
@@ -729,15 +729,82 @@
 ln(c);%0D%0A
+%09%09%0D%0A%09%09C%3CInteger%3E e = b.intersection(d);%0D%0A%09%09System.out.println(e);%0D%0A
 %09%7D%0D%0A%7D%0D%0A

change App for testing