code: public Login login(String username, String password, String domain)
        throws Exception {
      // login is a two step process
      // first we get a token
      TokenResult token = prepareLogin(username);
      // and then with the token we login using the password
      Login login = login(token, username, password, domain);
      return login;
    }
docs: login with the given username, password and domain
  
  @param username
  @param password
  @param domain
  @return Login
  @throws Exception