private Optional<Class<? extends Condition>> getConditionClass( Function<ConnectConditionClassResolver.Entry, Optional<Class<? extends Condition>>> mapper) { List<ConnectConditionClassResolver> resolvers = pluginAccessor.getEnabledModulesByClass(ConnectConditionClassResolver.class); return resolvers .stream() .flatMap(resolver -> resolver.getEntries().stream()) .map(mapper) .filter(Optional::isPresent).map(Optional::get) .findFirst(); } }