Я хотел бы аннотировать класс HasComponents Ваадина, который расширяет Iterable. Я могу аннотировать итератор () - Метод, подобный этому:
class com/vaadin/ui/HasComponents
iterator
()Ljava/util/Iterator<Lcom/vaadin/ui/Component;>;
()L1java/util/Iterator<L1com/vaadin/ui/Component;>;
, чтобы я мог выполнять итерацию с классическим циклом for
for (Iterator<Component> it = content.iterator(); it.hasNext();) {
Component c = it.next();
doSmoething(c);
}
но когда я пытаюсь использовать цикл foreach, такой как
for(Component c : content) {
doSomething(c);
}
Я получаю предупреждение от Eclipse:
Null type safety (type annotations): The expression of type 'Component' needs unchecked conversion to conform to '@NonNull Component'
предположительно, потому что это должно быть
HasComponents extends Component, Iterable<@NonNull Component>
Есть ли способ добавить эту аннотацию с помощью внешних аннотаций или есть другой способ?