O que <T> T significa quando usado como assinatura de método? É um tipo de retorno?

abstract public <T> T iterEdges(EdgeFun<T> func, T accum);

Isto é para uma biblioteca multithread para gráficos. Não estou pedindo nada pertinente à implementação real, apenas não entendo o que os tipos de retorno duplo significam?

Estou apenas adivinhando aqui, mas esta é a minha interpretação (tentei pesquisar no Google, mas o Google não corresponde a símbolos não alfanuméricos, por isso tentei algumas combinações de termos, mas não cheguei a lugar algum).

Está apenas dizendo que ele retornará algum tipo de coleção do tipo T? Duas classes estendem a classe em que esse método é encontrado, e, portanto, acho que permite polimorfismo, mas qual é o verdadeiro significado disso?

questionAnswers(2)

yourAnswerToTheQuestion