protected boolean provision(final RequestContext requestContext) {
        val credential = WebUtils.getCredential(requestContext);
        val authentication = WebUtils.getAuthentication(requestContext);
        val principal = authentication.getPrincipal();
        val registeredService = WebUtils.getRegisteredService(requestContext);

        LOGGER.debug("Starting to provision principal [{}] with registered service [{}]", principal, registeredService);
        val res = principalProvisioner.provision(authentication, credential, registeredService);
        val msg = String.format("Provisioning of principal %s is%s done successfully", principal,
            BooleanUtils.toString(res, StringUtils.EMPTY, " not"));
        LOGGER.debug(msg);
        return res;
    }
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