protected WebServiceClient buildWebServiceClient() {
        return Optional.ofNullable(this.webServiceClient).orElseGet(
            () -> new WebServiceClient.Builder(properties.getAccountId(), properties.getLicenseKey())
                .host("geolite.info")
                .requestTimeout(Duration.ofSeconds(5))
                .proxy(ProxySelector.getDefault())
                .build());
    }
This is {@link MaxmindDatabaseGeoLocationService} that reads geo data
from a maxmind database and constructs a geo location based on the ip address.
Default caching of the databases is enabled by default.

@author Misagh Moayyed
@since 5.0.0
support/cas-server-support-geolocation-maxmind/src/main/java/org/apereo/cas/support/geo/maxmind/MaxmindDatabaseGeoLocationService.java