@Override
    public AuthenticationHandlerExecutionResult authenticate(final Credential credential, final Service service) throws Throwable {
        val args = new Object[]{this, credential, getServicesManager(), getPrincipalFactory(), LOGGER};
        return watchableScript.execute("authenticate", AuthenticationHandlerExecutionResult.class, args);
    }
This is {@link GroovyAuthenticationHandler}.

@author Misagh Moayyed
@since 6.1.0
support/cas-server-support-generic/src/main/java/org/apereo/cas/adaptors/generic/GroovyAuthenticationHandler.java