A wrapper allows data in an object to be manipulated and provides a consistent API for different types. For example, instead of overloading a method so that it can accept both a Collection and an Object array, a single method signature utilizing the Container interface may be specified. This chapter has yet to be written