def get_all(self, keys):
check_not_none(keys, "<STR_LIT>")<EOL>if not keys:<EOL><INDENT>return ImmediateFuture({})<EOL><DEDENT>partition_service = self._client.partition_service<EOL>partition_to_keys = {}<EOL>for key in keys:<EOL><INDENT>check_not_none(key, "<STR_LIT>")<EOL>key_data = self._to_data(key)<EOL>partition_id = partition_service.get_partition_id(key_data)<EOL>try:<EOL><INDENT>partition_to_keys[partition_id][key] = key_data<EOL><DEDENT>except KeyError:<EOL><INDENT>partition_to_keys[partition_id] = {key: key_data}<EOL><DEDENT><DEDENT>return self._get_all_internal(partition_to_keys)<EOL>
Returns the entries for the given keys.

**Warning:
The returned map is NOT backed by the original map, so changes to the original map are NOT reflected in the
returned map, and vice-versa.**

**Warning 2: This method uses __hash__ and __eq__ methods of binary form of the key, not the actual implementations
of __hash__ and __eq__ defined in key's class.**

:param keys: (Collection), keys to get.
:return: (dict), dictionary of map entries.