makePaint method Null safety
Implementing classes are expected to override this to create a paint object. This gets called whenever the mutator is changed in order to not require each mutator to manually reset the paint to some canonical state. Instead, we simply blow out the old one and make a new one.
@protected Paint makePaint();