Constrains search results to only match those which also match a provided
query. Also provides position information about where each document matches
at the cost of extra space compared with the QueryWrapperFilter.
There is an added cost to this above what is stored in a QueryWrapperFilter. Namely,
the position information for each matching document is stored.

reader - a IndexReader instance opened on the index currently
searched on. Note, it is likely that the provided reader does not
represent the whole underlying index i.e. if the index has more than
one segment the given reader only represents a single segment.

Returns:

a DocIdSet that provides the documents which should be permitted or
prohibited in search results. NOTE: null can be returned if
no documents will be accepted by this Filter.