title: How to use Hazelcast Predicate to filter entries in IMap with values as a List of objects
body: <p>is there any way we can use predicates to filter entries in <code>IMap&lt;String, List&lt;Foo&gt;&gt;</code> where <code>MapStore</code>s value is a list of objects? I have a scenario like below:</p>
  
  <pre><code>  public class Foo {
        String bar;
        String foo
        String key;
        //Getters and Setters
    }
  </code></pre>
  
  <p>Using below method to fetch list of <code>Foo</code>s using <code>Predicate</code>.</p>
  
  <pre><code>      public List&lt;Foo&gt; getFooListByBar(String bar) {
          IMap&lt;String, List&lt;Foo&gt;&gt; fooListIMap = hazelcastInstance.getMap(FOO_MAP);
          Predicate predicate = Predicates.equal("bar",bar);
          Collection&lt;List&lt;Foo&gt;&gt; fooFiltered =  fooListIMap.values(predicate);
          //Other steps to retrieve list from Collection
       }
  </code></pre>
  
  <p>The above code is throwing <code>java.lang.IllegalArgumentException</code> as expected but I dont know how to achieve the above requirement. Any help is greatly appreciated. Thanks in advance.</p>
  
  <pre><code>com.hazelcast.query.QueryException: java.lang.IllegalArgumentException: There is no suitable accessor for 'bar' on class 'java.util.ArrayList'
      at com.hazelcast.query.impl.getters.ReflectionHelper.createGetter(ReflectionHelper.java:171) ~[hazelcast-3.12.6.jar:3.12.6]
      at com.hazelcast.query.impl.getters.Extractors.instantiateGetter(Extractors.java:152) ~[hazelcast-3.12.6.jar:3.12.6]
      at com.hazelcast.query.impl.getters.Extractors.getGetter(Extractors.java:118) ~[hazelcast-3.12.6.jar:3.12.6]
      at com.hazelcast.query.impl.getters.Extractors.extract(Extractors.java:73) ~[hazelcast-3.12.6.jar:3.12.6]
      at com.hazelcast.query.impl.QueryableEntry.extractAttributeValueFromTargetObject(QueryableEntry.java:171) ~[hazelcast-3.12.6.jar:3.12.6]
      at com.hazelcast.query.impl.QueryableEntry.extractAttributeValue(QueryableEntry.java:107) ~[hazelcast-3.12.6.jar:3.12.6]
      at com.hazelcast.query.impl.QueryableEntry.getAttributeValue(QueryableEntry.java:61) ~[hazelcast-3.12.6.jar:3.12.6]
      at com.hazelcast.query.impl.predicates.AbstractPredicate.readAttributeValue(AbstractPredicate.java:145) ~[hazelcast-3.12.6.jar:3.12.6]
      at com.hazelcast.query.impl.predicates.AbstractPredicate.apply(AbstractPredicate.java:62) ~[hazelcast-3.12.6.jar:3.12.6]
  </code></pre>