@Override
public Set<Entry<K, V>> entrySet(Predicate predicate) {
if (containsPagingPredicate(predicate)) {
return entrySetWithPagingPredicate(predicate);
}
ClientMessage request = MapEntriesWithPredicateCodec.encodeRequest(name, toData(predicate));
ClientMessage response = invokeWithPredicate(request, predicate);
MapEntriesWithPredicateCodec.ResponseParameters resultParameters = MapEntriesWithPredicateCodec.decodeResponse(response);
InflatableSet.Builder<Entry<K, V>> setBuilder = InflatableSet.newBuilder(resultParameters.response.size());
InternalSerializationService serializationService = ((InternalSerializationService) getContext()
.getSerializationService());
for (Entry<Data, Data> row : resultParameters.response) {
LazyMapEntry<K, V> entry = new LazyMapEntry<K, V>(row.getKey(), row.getValue(), serializationService);
setBuilder.add(entry);
}
return setBuilder.build();
}