def execute_on_keys(self, keys, entry_processor):
key_list = []<EOL>for key in keys:<EOL><INDENT>check_not_none(key, "<STR_LIT>")<EOL>key_list.append(self._to_data(key))<EOL><DEDENT>if len(keys) == <NUM_LIT:0>:<EOL><INDENT>return ImmediateFuture([])<EOL><DEDENT>return self._encode_invoke(map_execute_on_keys_codec, entry_processor=self._to_data(entry_processor),<EOL>keys=key_list)<EOL>
Applies the user defined EntryProcessor to the entries mapped by the collection of keys. Returns the results
mapped by each key in the collection.

:param keys: (Collection), collection of the keys for the entries to be processed.
:param entry_processor: (object), A stateful serializable object which represents the EntryProcessor defined on
    server side.
    This object must have a serializable EntryProcessor counter part registered on server side with the actual
    ``org.hazelcast.map.EntryProcessor`` implementation.
:return: (Sequence), list of map entries which includes the keys and the results of the entry process.