}
if(commanderAccount == null)
throw new CommandFailedWithDetailsException("You must have an account to use recruit.");
BNetUser bnSubject = source.getCreateBNetUser(params[0], user);
BNLogin rsSubject = BNLogin.get(bnSubject);
if(rsSubject == null)
throw new NeverSeenUserException(bnSubject);
if(rsSubject.getAccount() != null)
throw new CommandFailedWithDetailsException("That user already has an account!");
String requiredTagPrefix = GlobalSettings.recruitTagPrefix;
String requiredTagSuffix = GlobalSettings.recruitTagSuffix;
if(requiredTagPrefix != null) {
if(bnSubject.getFullAccountName().substring(0, requiredTagPrefix.length()).compareToIgnoreCase(requiredTagPrefix) != 0)
throw new CommandFailedWithDetailsException("That user must have the " + requiredTagPrefix + " tag!");
}
if(requiredTagSuffix != null) {
String s = bnSubject.getFullAccountName();
int i = s.indexOf("@");
if(i != -1)
s = s.substring(0, i);
s = s.substring(s.length() - requiredTagSuffix.length());
if(s.compareToIgnoreCase(requiredTagSuffix) != 0)
throw new CommandFailedWithDetailsException("That user must have the " + requiredTagSuffix + " tag!");
}
CommandEventHandler.createAccount(params[1], GlobalSettings.recruitAccess, commanderAccount, rsSubject);
bnSubject.resetPrettyName();
source.sendChat("Welcome to the clan, " + bnSubject.toString() + "!");
}