I was looking at a diff and saw this code:
public interface Vector<T extends Vector>
which was replaced by this code:
public interface Vector<T extends Vector<T>>
I have trouble wrapping my head around it, what is the difference? How do they work differently?