Refactor visitVariableExpression to use visitProperty instead of trying to resolve properties on its own. Also moves the logic for hasSetter into existsProperty and adds additional generics information
add javadoc and rename method for nullIfStaticOnlyAndNotStatic (now allowStaticAccessToMember)