I have a subclass with an over-ridden method that I know always returns a particular subtype of the return type declared in the base class. If I write the code this way, it
It seems to me that you need to be returning an interface, not a base class.