code: @Override
      public Future<MailToken> saveToken(MailToken mailToken) {
          return toScala(doSaveToken(Token.fromScala(mailToken)).thenApply(Token::toScala));
      }
docs: Saves a token.  This is needed for users that
  are creating an account in the system instead of using one in a 3rd party system.
  
  Note: If you do not plan to use the UsernamePassword provider just provide en empty
  implementation
  
  @param mailToken The token to save
  @return A string with a uuid that will be embedded in the welcome email.