Java uses E for generic types in collection