@PostLoad
    private void initializeWatchableScriptIfNeeded() {
        if (this.executableScript == null) {
            val scriptFactory = ExecutableCompiledScriptFactory.getExecutableCompiledScriptFactory();
            if (scriptFactory.isExternalScript(script)) {
                val resource = FunctionUtils.doUnchecked(() -> {
                    val scriptFile = SpringExpressionLanguageValueResolver.getInstance()
                        .resolve(scriptFactory.getExternalScript(script).orElseThrow());
                    LOGGER.debug("Loading attribute filter groovy script from [{}]", scriptFile);
                    return ResourceUtils.getRawResourceFrom(scriptFile);
                });
                this.executableScript = scriptFactory.fromResource(resource);
            } else if (scriptFactory.isInlineScript(script) && CasRuntimeHintsRegistrar.notInNativeImage()) {
                this.executableScript = scriptFactory.fromScript(scriptFactory.getInlineScript(script).orElseThrow());
            }
        }
    }
This is {@link RegisteredServiceScriptedAttributeFilter}.

@author Misagh Moayyed
@since 5.1.0
core/cas-server-core-services-api/src/main/java/org/apereo/cas/services/support/RegisteredServiceScriptedAttributeFilter.java