docs: public ICompletableFuture<Map<K, Object>> submitToKeys(Set<K> keys, EntryProcessor entryProcessor) {
          checkNotNull(keys, NULL_KEY_IS_NOT_ALLOWED);
          if (keys.isEmpty()) {
              return new SimpleCompletedFuture<Map<K, Object>>(Collections.<K, Object>emptyMap());
          }
  
          Collection<Data> dataCollection = objectToDataCollection(keys, getSerializationService());
  
          ClientMessage request = MapExecuteOnKeysCodec.encodeRequest(name, toData(entryProcessor), dataCollection);
          ClientInvocationFuture future = new ClientInvocation(getClient(), request, getName()).invoke();
          return new ClientDelegatingFuture<Map<K, Object>>(future, getSerializationService(), submitToKeysResponseDecoder);
      }