ShardLocation shard = userId2Shard(userId);
shard2users.add(shard,userId);
}
// for each shard
for (Map.Entry<ShardLocation,Object> entry : (Set<Map.Entry<ShardLocation,Object>>)shard2users.entrySet())
{
// TODO, we could look at all users in shard to see if we
// know a setiId for each, and if so, break the user list
// up into a message for each seti-id. BUT it is probably
// more efficient just to send to the entire shard (unless