public async void RemoveFavoritedUser(long userId)
{
if (Status.RetweetedOriginal != null)
{
var status = await Get(Status.RetweetedOriginal).ConfigureAwait(false);
status.RemoveFavoritedUser(userId);
}
else
{
TwitterUser remove;
lock (_favoritedsLock)
{
if (_favoritedUsersDic.TryGetValue(userId, out remove))
{
_favoritedUsersDic.Remove(userId);
Status.FavoritedUsers = Status.FavoritedUsers.Guard().Except(new[] { userId }).ToArray();
}
}
if (remove != null)
{
_favoritedUsers.Remove(remove);
#pragma warning disable 4014
StatusProxy.RemoveFavoritor(Status.Id, userId);
StatusBroadcaster.Republish(this);
#pragma warning restore 4014
}
}
}