Проблема в том, что GenericTypeMatcher
принимает аргумент Class<T>
.
Вместо этого вы передаете определение типа, которое недопустимо.
private static <T extends Component> GenericTypeMatcher<T> getMatcher(final Class<T> clazz) {
return new GenericTypeMatcher<T>(clazz) {
@Override
protected boolean isMatching(final T object) {
return ...
}
}
}
Использование
YourClass.getMatcher(YourComponent.class);