state = contexts.getOrCreate(credentials.getLeft(), new IFactory1<Pair<StaticServerContext, Queue<ServerEvent>>, LoginException>(){
public Pair<StaticServerContext, Queue<ServerEvent>> create() throws LoginException {
ServerContext serverContext = cspokerServer.login(credentials.getLeft(), credentials.getRight());
final ConcurrentLinkedQueue<ServerEvent> eventQueue = new ConcurrentLinkedQueue<ServerEvent>();
StaticServerContext staticServerContext = new XmlServerContext(serverContext,
new UniversalServerListener(
new ServerEventListener(){
public void onServerEvent(ServerEvent event) {
eventQueue.offer(event);