У меня есть следующий класс (из простого учебника Spring)
public class CarValidator implements Validator {
    public boolean supports(Class aClass) {
        return Car.class.equals(aClass);
    }
    public void validate(Object obj, Errors errors) {
        Car car = (Car) obj;
        ValidationUtils.rejectIfEmptyOrWhitespace(errors, "model", "field.required", "Required field");
        ValidationUtils.rejectIfEmptyOrWhitespace(errors, "price", "field.required", "Required field");
        if( ! errors.hasFieldErrors("price")) {
            if (car.getPrice().intValue() == 0) {
                errors.rejectValue("price", "not_zero", "Can't be free!");
            }
        }
    }
}
Если класс Validator является классом org.springframework.validation.Validator из Spring 2.5.
Метод поддержки показывает предупреждение (класс является сырым типом. Ссылки на общий тип Class должны быть параметризованы), если я пытаюсь добавить к нему такие параметры, как
public boolean supports(Class<?> aClass) ...
Я получаю следующую ошибку:
 The method supports(Class<?>) of type CarValidator has the same erasure as supports(Class) of type Validator but does not override it
Есть много потоков по этому типу вопросов, но я хочу получить полный ответ и фактически понять его, не "скрывая" проблему с помощью @SupressWarnings!