DefaultRowSorter.ModelWrapper is responsible for providing
 the data that gets sorted by 
DefaultRowSorter.  You
 normally do not interact directly with 
ModelWrapper. 
 Subclasses of 
DefaultRowSorter provide an
 implementation of 
ModelWrapper wrapping another model.
 For example,
 
TableRowSorter provides a 
ModelWrapper that
 wraps a 
TableModel.
 
 ModelWrapper makes a distinction between values as
 Objects and Strings.  This allows
 implementations to provide a custom string
 converter to be used instead of invoking toString on the
 object.