Превратил комментарий в ответ:
Вы можете ввести переменную экземпляра типа T и вызвать generateMatches для этого.Вы не можете вызывать generateMatches для самого типа T.
Вы можете, например, внедрить эту переменную экземпляра через конструктор и сохранить ее в закрытой переменной:
private T instanceOfT;
public Model(T instanceOfT){
this.instanceOfT= instanceOfT;
}
В вашем методе getMatches вы можете затемсделать это:
return instanceOfT.generateMatches(doc);