in the leveldb implementation of the TimelineStore the secondary filter matches entities where the key being searched for is not present.
ex query from tez ui
will match and return the entity even though there is no entity with otherinfo.foo defined.
the issue seems to be in
this should be IMHO
vs == null || !vs.contains(filter.getValue())