changing Set<D> to Set<D2> when D2 extends D