there are two bugs here:
1. we should check if a method is a getter when doing type resolution, for example, if it returns void, then it's not a getter
2. when a collection attribute doesn't use generic nor have targetEntity specified, then throw an exception