Here is an outline for a working class OldCellPhone that has no errors (you may see this exact class several times in this exam): class OldCellPhone { static public final int MIN_CAP = 10; static public final int MAX_CAP = 1000; static public final String DEFAULT_DSCR = "(generic phone)"; private String description; private int memCapacity; private boolean camera; private boolean gps; public void setCamera( boolean hasCam ) { camera = hasCam; } public void setGps( boolean hasGps ) { gps = hasGps; } public OldCellPhone() { this(DEFAULT_DSCR, MIN_CAP, false, false); } public OldCellPhone(String dscr, int mem, boolean cam, boolean gp) { // not shown } public String toString() { // not shown } public boolean setMemCapacity(int mem) { // not shown } }; A programmer decides to make the static DEFAULT_DSCR mutable, removing its final status, as in: static public String DEFAULT_DSCR = "(generic phone)"; A mutator is added for this member. Any String whose length is at least 2 characters will be acceptable as a new DEFAULT_DSCR. Check the true statements (there may be more than one correct answer): A. The mutator for this member will be an instance method. B. If the mutator takes a String parameter, newDefault, a reasonable definition would be: if ( newDefault.length() < 2 ) return false; DEFAULT_DSCR = newDefault; return true; C. The mutator for this member will be a static method. D. If the mutator takes a String parameter, newDefault, a reasonable definition would be: if ( newDefault.length() < 2 ) { this.newDefault = DEFAULT_DSCR; return false; } this.newDefault = newDefault; return true; E. If the mutator takes a String parameter, newDefault, a reasonable definition would be: if ( newDefault.length() > 0 ) return false; DEFAULT_DSCR = newDefault; return true;