The separation of data from its view is referred to as the Model-View pattern (Often, a third element is added to create the Model-View-Controller pattern). In the code segment below, the class Scores is the model where the addScore() method changes the scoreList[] by adding a score that is passed in as a parameter. When the model changes it notifies its observers. It is required that the class ConsoleShow should be an observer on the changes in Scores; when the observer is notified of the changes, the method, procScores() should be executed. a) Make the required changes to ConsoleShow to make it an Observer. You cannot add, remove or change the methods defined in these classes. Therefore you can only make changes to the first line in the class definitions (class ConsoleShow ....). b) You can make changes to class ProcessScores. c) You can make changes to only the first line of class Scores. You cannot make any other changes to the rest of the class definition. d) In main(), a Scores object (model), scoreOb and one observer object, one are created. Complete the code segment (add lines) such that one becomes an observer on the model scoreOb. You cannot modify or delete lines 1, 2 or 3 (line numbers in comments) in this code segment. e) When line 3 (line number in comments) is executed, show what is displayed on the console? abstract class ProcessScores implements Observer{ public void update(Observable o, Object arg) { if (o == null) System.out.println("o null"); procScores(o); } } class ConsoleShow { public void procScores(Object arg){ /* Display a pattern based on the sum in Scores object */ if (arg == null) System.out.println("1: Exiting"); else{ for (int i = 0; i < ((Scores)arg).getSum(); ++i){ for (int j = 0; j <= i; ++j) System.out.print("*"); System.out.println(); } } } } class Scores { final int max = 10; private int scoreList[] = new int[max]; private int sum = 0; public void addScore(int index, int score) { if (index < max){ scoreList[index] = score; sum = 0; for (int i = 0; i < max; ++i) sum += scoreList[i]; // Notify the registered observers setChanged(); notifyObservers(); } } public String toString(){return new Integer(sum).toString();} public int getSum(){ return sum;} } public class Question5 { public static void main(String [] args) { // Create an instance of the model /* 1 */ Scores scoreOb = new Scores(); // Create an instance of ConsoleShow observer /* 2 */ ProcessScores one = new ConsoleShow(); // Now add a score to scoreOb. This should set off notifications // to the observers. /* 3 */ scoreOb.addScore(5,6); } }.