fix for #41 RequireThisCheck doesn't check methods and fields that are declared below usage
refactoring, using standard collection instead of custom abstraction layer on top of it
Merge pull request #42 from isopov/issue-41

fix for #41 RequireThisCheck doesn't check methods