Or it could be an implementing class, or an extending interface, if the return type of the overridden method is an interface. The key is that the covariant return must pass the Is-A test for the return type of the overridden method.
All code in my posts, unless a source is explicitly mentioned, is my own.