renamed predicate variables for better readability
improved javadoc
refactor: reduced context scope instead of passing a context-superclass around
refactor uri resolving to separate class
extracted some attributes into separate classes