Rewrite the Dog class given in Listing 5.1 by utilizing the information and encapsulation principles described in Section 5.2. The new version should include accessor and mutator methods. Also define an equals method for the class that returns true if the dog’s name, age. and breed match the same variables for the other object that is being compared. Include a main method to test the functionality of the new Dog class.