@Override
    @SuppressWarnings("lgtm[java/equals-on-arrays]") // For this particular instance, what LGTM warns against is exactly what the intended behavior is: ignore content of the array.
    public String toString()
    {
        return "CertificateStoreConfiguration{" +
                "type='" + type + '\'' +
                ", file=" + file +
                ", password hashcode=" + password.hashCode() + // java.lang.Array.hashCode inherits from Object. As it is a reference, it should be safe to log and useful enough to compare against other passwords.
                ", backupDirectory=" + backupDirectory +
                '}';
    }
Creates a new instance.

@param type The store type (jks, jceks, pkcs12, etc). Cannot be null or an empty string.
@param file  The file-system based representation of the store (cannot be null).
@param password the password used to check the integrity of the store, the password used to unlock the store, or null.
@param backupDirectory the directory in which the backup of the original keystore should be saved
xmppserver/src/main/java/org/jivesoftware/openfire/keystore/CertificateStoreConfiguration.java