public User gAddUser(String groupname, String username, String password, boolean checkSpace) throws UserExistsException, NoSuchGroupException, GroupLimitReachedException {
String user;
try {
user = rmi.gAddUser(groupname, username, password, checkSpace);
// otherwise we return a local user, and that's bad
return new RemoteUser(user, this);
} catch (RemoteException e) {
System.err.println(e.getMessage()); reinitialize();
return gAddUser(groupname, username, password, checkSpace);
}
}