@Override
    public Principal getUserPrincipal() {
        return this.principal;
    }
Constructor to create an instance of NTCredentials.

@param password      The password to use for authentication. Must not be null.
@param userName      The user name for authentication. This should not include the domain to authenticate with.
                     For example: "user" is correct whereas "DOMAIN&#x5c;user" is not. Must not be null.
@param domain        The domain to authenticate within. Can be null.
@param netbiosDomain An alternative representation of the domain name in NetBIOS format. Can be null.
                     This parameter is provided to accommodate specific scenarios that require the NetBIOS version of the domain name.
                     <p>
                     This constructor creates a new instance of NTCredentials, determining the workstation name at runtime
                     using the {@link #getWorkstationName()} method. The workstation name will be converted to uppercase
                     using the {@link Locale#ROOT} locale.
httpclient5/src/main/java/org/apache/hc/client5/http/auth/NTCredentials.java