final void init(Admin admin, String name, String password) { if (this.admin != null) { throw new IllegalStateException("already initialized"); } this.admin = admin; this.name = name; this.userID = admin.loginAgentChannel(this, password); // Do not allow delivery of messages until correctly logged in // which is when this point has been reached. isClosed = false; admin.agentChannelAvailable(this); }