Interface changed with Generics