protected void handle(Command command, Session session) { String password = command.getRequiredParameter(0); String username = (String) getRequiredSessionAttribute(session, SessionKeys.USERNAME); if (validateUserAccount(username, session)) { UserAccount userAccount = getServerConfiguration().getUserAccount(username); if (userAccount.isValidPassword(password)) { int replyCode = (userAccount.isAccountRequiredForLogin()) ? ReplyCodes.PASS_NEED_ACCOUNT : ReplyCodes.PASS_OK; String replyMessageKey = (userAccount.isAccountRequiredForLogin()) ? "pass.needAccount" : "pass"; login(userAccount, session, replyCode, replyMessageKey); } else { sendReply(session, ReplyCodes.PASS_LOG_IN_FAILED, "pass.loginFailed"); } } }