@Nullable
    @Override
    public Predicate<InetAddress> preferredIpV4Addresses() {
        final String val = getNormalized("preferredIpV4Addresses");
        if (val == null) {
            return null;
        }
        final List<Predicate<InetAddress>> preferredIpV4Addresses =
                CSV_SPLITTER.splitToList(val)
                            .stream()
                            .map(cidr -> {
                                try {
                                    return InetAddressPredicates.ofCidr(cidr);
                                } catch (Exception e) {
                                    logger.warn("Failed to parse a preferred IPv4: {}", cidr);
                                }
                                return null;
                            })
                            .filter(Objects::nonNull)
                            .collect(Collectors.toList());
        switch (preferredIpV4Addresses.size()) {
            case 0:
                return null;
            case 1:
                return preferredIpV4Addresses.get(0);
            default:
                return inetAddress -> {
                    for (Predicate<InetAddress> preferredIpV4Addr : preferredIpV4Addresses) {
                        if (preferredIpV4Addr.test(inetAddress)) {
                            return true;
                        }
                    }
                    return false;
                };
        }
    }
Implementation of {@link FlagsProvider} which provides values from JVM options to {@link Flags}.
core/src/main/java/com/linecorp/armeria/common/SystemPropertyFlagsProvider.java