Animation Filter is the place where the animation data that is presented to the user is determined. The current code used a ListBase that was filled. A linked list was used as it could also add data before the last item. This was used as parents/containers were added after a child was added to the list.
This patch adds an iterator that gives the same result, but everything is added in order. Using an iterator will allow support for other data types than ListBase or even no data type at all by only giving a callback function.