class CasRestBasicAuthClient extends AbstractCasRestClient {

    private String headerName = HttpConstants.AUTHORIZATION_HEADER;

    private String prefixHeader = HttpConstants.BASIC_HEADER_PREFIX;

    /**
     * <p>Constructor for CasRestBasicAuthClient.</p>
     */
    public CasRestBasicAuthClient() {}

    /**
     * <p>Constructor for CasRestBasicAuthClient.</p>
     *
     * @param configuration a {@link CasConfiguration} object
     * @param headerName a {@link String} object
     * @param prefixHeader a {@link String} object
     */
    public CasRestBasicAuthClient(final CasConfiguration configuration,
                                  final String headerName, final String prefixHeader) {
        this.configuration = configuration;
        this.headerName = headerName;
        this.prefixHeader = prefixHeader;
    }

    /** {@inheritDoc} */
    @Override
    protected void internalInit(final boolean forceReinit) {<FILL_FUNCTION_BODY>}
}

        assertNotBlank("headerName", this.headerName);
        assertNotNull("prefixHeader", this.prefixHeader);
        assertNotNull("configuration", this.configuration);

        setCredentialsExtractorIfUndefined(new BasicAuthExtractor(this.headerName, this.prefixHeader));
        setAuthenticatorIfUndefined(new CasRestAuthenticator(this.configuration));
    
<methods>public non-sealed void <init>() ,public void destroyTicketGrantingTicket(org.pac4j.cas.profile.CasRestProfile, org.pac4j.core.context.WebContext) ,public org.pac4j.core.credentials.TokenCredentials requestServiceTicket(java.lang.String, org.pac4j.cas.profile.CasRestProfile, org.pac4j.core.context.WebContext) ,public org.pac4j.cas.profile.CasProfile validateServiceTicket(java.lang.String, org.pac4j.core.credentials.TokenCredentials, org.pac4j.core.context.WebContext) <variables>protected org.pac4j.cas.config.CasConfiguration configuration