/// <summary>
 /// Initializes a new instance of the <see cref="Authenticator"/> class.
 /// </summary>
 public Authenticator(AuthenticationOptions options)
 {
     _options = options ?? throw new ArgumentNullException(nameof(options));
     HConsole.Configure(this, config => config.SetIndent(4).SetPrefix("AUTH"));
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="AuthenticationOptions"/> class.
 /// </summary>
 private AuthenticationOptions(AuthenticationOptions other)
 {
     CredentialsFactory = other.CredentialsFactory.Clone();
 }
 /// <summary>
 /// Configures Kerberos as the authentication mechanism.
 /// </summary>
 /// <param name="options">The authentication options.</param>
 /// <param name="spn">The service principal name of the Hazelcast cluster.</param>
 /// <returns>The authentication options.</returns>
 public static AuthenticationOptions ConfigureKerberosCredentials(this AuthenticationOptions options, string spn)
 {
     options.CredentialsFactory.Creator = () => new KerberosCredentialsFactory(spn);
     return(options);
 }