Description
There is a bug in assertRowInResultSet where a path through the loop does not set the variable obj.
This leads to it being compared with the previous value.
Using locally scoped variables within the loop would have most likely caught this bug at development time.
Then the compiler sees that obj has one uninitialzed path through the code and throws an error.