class DefaultDiscoveryEnabledAdapter implements DiscoveryEnabledAdapter {
    @Autowired
    protected List<StrategyEnabledFilter> strategyEnabledFilterList;

    @Autowired(required = false)
    protected List<DiscoveryEnabledStrategy> discoveryEnabledStrategyList;

    @Override
    public void filter(List<? extends Server> servers) {
        for (StrategyEnabledFilter strategyEnabledFilter : strategyEnabledFilterList) {
            strategyEnabledFilter.filter(servers);
        }
    }

    @Override
    public boolean apply(Server server) {<FILL_FUNCTION_BODY>}
}

        if (CollectionUtils.isEmpty(discoveryEnabledStrategyList)) {
            return true;
        }

        for (DiscoveryEnabledStrategy discoveryEnabledStrategy : discoveryEnabledStrategyList) {
            boolean enabled = discoveryEnabledStrategy.apply(server);
            if (!enabled) {
                return false;
            }
        }

        return true;
    
<no_super_class>