private List<Action<object[]>> PruneAndReturnStrategies()
{
List<Action<object[]>> returnList = new List<Action<object[]>>();
lock (_subscriptions)
{
for (int i = _subscriptions.Count - 1; i >= 0; i--)
{
Action<object[]> subscriptionAction = _subscriptions[i].GetExecutionStrategy();
if (subscriptionAction == null)
{
_subscriptions.RemoveAt(i);
}
else
{
returnList.Add(subscriptionAction);
}
}
}
return returnList;
}