@aledsage Maybe I misunderstand. What would the type signature of the overriding version of getMembers be? For overriding to set the return type of getMembers to `Collection<MongoDBServer>` I think its signature in Group and AbstractGroupImpl has to be `Collection<? extends Entity> getMembers()` (rather than `Collection<Entity>`). Making this change then requires "? extends" to be inserted into lots of other places. Is this what you had in mind?