Looks like GrrovyRowResult property access is not consistent.
The current implementation semantics which basically "says as long as there is one key per case insensitive string the property fetching is case insensitive" does not make sense to me and moreover it is not consistent.
The attached testcase shows the inconsistency. In fact, it is not clear at all what should be the result after the second property assignment.
To overcome this bug I have AOP the propertySet and before any settings I removed the previous one (if exists) ensuring no than one String case insensitive key at the time. Without this my Sql row processing is not deterministic.
Thanks in advance,