Feeling a little confused about wrappers - about what their purpose is.
Quoting from HFSJ:
"The Decorator/Wrapper decorates/wraps one kind of an object with an "enhanced" implementation. And by "enhanced", we mean "adds new capabilities" while still doing everything the original wrapped thing did."
Ok, so isn't that exactly what extending the class is - when you extend a class, the new class does everthing the original class did and adds new capabilities. So how is a wrapper object different from a subclass object?
"A problem well stated is a problem half solved.” - Charles F. Kettering
SCJP 6, OCPJWCD