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

Closes #67
Honestly, this looks a bit crazy to me - an entire method (and function-call) just do determine if a boolean flag is true, and the code doesn't really clarify what's going on at all, 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.

Why didn't you opt for the simple, inline switch/case approach I suggested? You seemed happy with that.