1. Consider the following piece of code : public class foo { int a = 2; Object b; public void bar{ int c = 4; Object d; } } Where is storage allocated for a, b, c, and d, respectively? 2. What is the primary difference between the Set and the Bag ADTs? 3. In my example for both the Set and Bag ADTs, what was the benefit of creating a Factory class to return Set and Bag objects?