Mark,
>I purposely left out DoDefault() because I can't imagine ever having default code in the original sub-class, at least not in this method.
Re several other threads the last couple of weeks, I think it's better to just do it now than regret it later.