@Override
    protected Event doExecuteInternal(final RequestContext requestContext) {
        val credential = WebUtils.getCredential(requestContext);
        val authentication = WebUtils.getAuthentication(requestContext);
        if (credential == null || authentication == null) {
            LOGGER.warn("No credential or authentication found in the request context to provision");
            return success();
        }
        if (properties.isAsynchronous()) {
            executorService.execute(() -> provision(requestContext));
            return success();
        }
        val res = provision(requestContext);
        return res ? success() : error();
    }
This is {@link PrincipalProvisionerAction}.

@author Misagh Moayyed
@since 5.1.0
support/cas-server-support-actions-core/src/main/java/org/apereo/cas/web/flow/PrincipalProvisionerAction.java