protected boolean provision(final Credential credential, final Principal principal) {
        LOGGER.debug("Searching to find [{}]", principal.getId());
        val existingUser = oktaClient.getUser(principal.getId());
        return (existingUser == null || existingUser.getProfile().isEmpty())
            ? createUser(principal, credential)
            : updateUser(existingUser, principal);
    }
This is {@link OktaPrincipalProvisioner}.

@author Misagh Moayyed
@since 7.0.0
support/cas-server-support-okta-authentication/src/main/java/org/apereo/cas/okta/OktaPrincipalProvisioner.java