import java.util.*;
import java.lang.annotation.Annotation;
import java.util.function.Function;
import java.util.stream.Collectors;
import java.util.stream.Stream;
abstract class WithAnn {
{
map((Class extends Annotation> ann) -> getAnnotation(ann));
map(this::getAnnotation);
}
abstract A getAnnotation(Class annotationClass);
abstract void map(Function, ? extends R> mapper);
}
class Test {
private void it(final Set> set) {
set.forEach((clazz) -> bind(clazz));
}
protected void bind(Class clazz) {}
}