Description
Current while evaluating a query like following where propa is a multi value property
select [jcr:path] from [nt:base] where propa = 'a' and propa = 'c'
Filter created by Query Engine only has one property restriction for propa = 'a'. This happens because FilterImpl uses a map to store the propertyRestrictions.
Eventually query engine returns the right result as query engine evaluates both restrictions on the result set returned by index. However index does not get to know of other restrictions and would return more result than required.
Expected - Filter gets access to all property restrictions.