@Override
    public void onSignIn( String name )
    {
        ServerToUser service = currentClient.newService( ServerToUser.class );
        if (userMap.containsKey( name ))
        {
            System.out.println( "SERVER: sign-in attempt failed for " + name + ", user already signed in" );
            service.onSignInFailure( "A user with that name already exists" );
        }
        else
        {
            System.out.println( "SERVER: sign-in attempt for " + name );
            ServerUser u = new ServerUser();
            currentClient.attach( u );
            u.name = name;
            u.client = currentClient;
            u.service = service;

            service.onSignInSuccess();

            for (ServerUser otherUser : userMap.values())
            {
                otherUser.service.onUserSignIn( name );
                service.onUserSignIn( otherUser.name );
            }

            userMap.put( name, u );
        }
    }