private void saveUserInSession(String login, String password) {
   USER_ACCOUNT = userAccountRepository.getUserAccountByLogin(login);
   if (USER_ACCOUNT == null) {
     // save in database - first login
     USER_ACCOUNT = createUserAccount(login, password);
     saveUserAccount(USER_ACCOUNT);
   } else {
     // update token in database
     USER_ACCOUNT.setToken(getToken());
     updateUserAccount(USER_ACCOUNT);
   }
 }
  @Override
  public void setAsDefaultUser(UserAccount user, boolean isDefault) {
    if (isDefault) {
      // set other users to false - only one user can be a default user
      List<UserAccount> userAccounts = userAccountRepository.getAllUsers();

      for (UserAccount userAccount : userAccounts) {
        userAccount.setDefaultUser(false);
        updateUserAccount(userAccount);
      }
    }

    user.setDefaultUser(isDefault);
    updateUserAccount(user);
  }
 @Override
 public void updateUserAccount(UserAccount userAccount) {
   userAccountRepository.updateUserAccount(userAccount);
 }
 @Override
 public void saveUserAccount(UserAccount userAccount) {
   userAccountRepository.saveUserAccount(userAccount);
 }
 @Override
 public UserAccount getDefaultUser() {
   return userAccountRepository.getDefaultUser();
 }
 @Override
 public UserAccount getUserAccountByToken(String token) {
   return userAccountRepository.getUserAccountByToken(token);
 }
 @Override
 public UserAccount getUserAccountByLogin(String login) {
   return userAccountRepository.getUserAccountByLogin(login);
 }