I think the idea is that this is meant to _not_ barf if there is no category with the benefit that when looping through categories and looking at parents, it just passes by if the category passed in is nil.

I would think this would be better done formally checking for the category before instantiating a reader and then just using the method signature to ensure an argument was present (and let it blow up if that argument is a nil).