You are given code for class Dog: public final class Dog { private final String name; private final List favouriteFoods; public Dog(String n){ this.name = n; this.favouriteFoods = new ArrayList(); } public String getName(){ return name; } public void addFavouriteFood(String f){ favouriteFoods.add(f); } } And also some code that used Dog class: public static void main (String[] args){ Dog dog = new Dog("Max"); foo(dog); System.out.println(dog.getName()); } static void foo(Dog d){ System.out.println(d.getName()); d = new Dog("Fifi"); } What will be output of running the main method? Explain your reasoning.