К примеру у меня есть метод public <T extends Animal> T method (T t){ // Код return t; } Как я понимаю, он равносилен этому методу (Исключая cast`ы) public Animal method (Anima a){ return a; } Правильно ли считать, что первый вариант корректно использовать ТОЛЬКО В ОБОБЩЁННЫХ классах?