Java: как переопределить этот универсальный метод?

public  List save(Iterable entities) {
        //...
}

Если я использую следующий метод для переопределения

@Override
public List save(Iterable structures) {
    List result = new ArrayList();
    //...
    return result;
}

Я получаю следующую ошибку:

method does not override or implement a method from a supertype

name clash: save(Iterable) in MyTypeRepositoryImpl and save(Iterable) in SimpleJpaRepository have the same erasure, yet neither overrides the other
  where S,T are type-variables:
    S extends T declared in method save(Iterable)
    T extends Object declared in class SimpleJpaRepository

Как я могу решить это? Я неЭтот метод не должен быть универсальным, и на самом деле его не должно быть. Я имею в виду, что

@Override
public  List save(Iterable structures) {
    List result = new ArrayList();
    //...
    return result;
}

Не будет работать, так как метод может создать новый объект MyType, который не "совместимый» к списку.

Как я могу сделать эту работу?

РЕДАКТИРОВАТЬ:

В целях разъяснения. Я'я пытаюсь переопределить различные методы save () данных Spring SimpleJpaRepository (который расширяется QuerydslJpaRepository)

Определения класса:

public class MyTypeRepositoryImpl
    extends QueryDslJpaRepository
    implements MyTypeRepository

@NoRepositoryBean
public interface MyTypeRepository
    extends JpaRepository,
    QueryDslPredicateExecutor 

И это (из Spring Data)

public class QueryDslJpaRepository 
extends SimpleJpaRepository 
implements QueryDslPredicateExecutor

РЕДАКТИРОВАТЬ 2:

Метод вызывает save (MyType entity) для каждого элемента, и этот метод содержит следующую логику:

сущность имеет поле, которое является уникальнымполучить значение этого поля и проверить, существует ли сущность с таким значениемесли да, используйте эту сущность (вызов entityManager.merge) -> не работает возвращает MyType не Sесли нет создать новый -> здесь создается новый объект. Не работает с универсальным типом

Для 4. Я могу просто установить id = null и использовать переданный объект. Это не работает для 3.

Так что я'Я очень озадачен, почему этот метод имеет эту подпись. Это делает его непригодным для меня, и я неПочему бы не сохранить подкласс T с помощью Ts DAO. Методы сохранения являются единственными с. Все остальные просто используют T. Я мог бы просто привести к S, чтобы он компилировался, но это тоже выглядит ужасно ... так как любой другой тип, кроме T, приведет к исключению.

Ответы на вопрос(5)

Ваш ответ на вопрос