changing DataCollection over to just use ArrayIterator
updating Manager to use recursion and handle the matching a bit differently
adding more nested data to the Manager exception test