@Override
    protected boolean shouldDoSpnego(final String remoteIp) {
        val ipCheck = ipPatternCanBeChecked(remoteIp);
        if (ipCheck && !ipPatternMatches(remoteIp)) {
            return false;
        }
        val hostName = getRemoteHostName(remoteIp);
        LOGGER.debug("Retrieved host name for the remote ip is [{}]", hostName);
        return this.hostNamePatternString.matcher(hostName).find();
    }
{@inheritDoc}.
<p>
Checks whether the IP should even be paid attention to,
then does a reverse DNS lookup, and if it matches the supplied pattern, performs SPNEGO
else skips the process.

@param remoteIp The remote ip address to validate
support/cas-server-support-spnego-webflow/src/main/java/org/apereo/cas/web/flow/client/HostNameSpnegoKnownClientSystemsFilterAction.java