Fixing retrieval annotations by wrong usage member (not class/method/property)

Closes #67
>  ... creating a map with three values that are just copies of other values, and only one of those values get used, it's not obvious what it's doing at all. ...

I thought this will be more obvious, than having switch doing the same as you proposed before.

> Why didn't you opt for the simple, inline switch/case approach I suggested?

To me the switch that does 1-to-1 mapping and array with isset below that does the same are of same clarity. It just takes less lines of code to write an array version. I can revert back to switch if you wish.

> Also you're basing this work on the old applyConstraints() which doesn't look like that at all anymore - you're going to have trouble merging this.

In fact I just need to copy/paste 1st line in foreach to get it working.