Colin- I'm wondering how to make this work in the presence of generics. You use a class literal, which is only valid for reifiable types. You also use an instanceof test and a cast, which are unchecked operations if the target is not reifiable. Cheers, Neal