docs: @Nonnull
    public PasswordHash createUserPasswordHash (@Nonnull @Nonempty final String sAlgorithmName,
                                                @Nullable final IPasswordSalt aSalt,
                                                @Nonnull final String sPlainTextPassword)
    {
      ValueEnforcer.notNull (sPlainTextPassword, "PlainTextPassword");
  
      final IPasswordHashCreator aPHC = getPasswordHashCreatorOfAlgorithm (sAlgorithmName);
      if (aPHC == null)
        throw new IllegalArgumentException ("No password hash creator for algorithm '" +
                                            sAlgorithmName +
                                            "' registered!");
      final String sPasswordHash = aPHC.createPasswordHash (aSalt, sPlainTextPassword);
      return new PasswordHash (sAlgorithmName, aSalt, sPasswordHash);
    }