code: def key_set(self, predicate=None):
          
  
          if predicate:
              return self._encode_invoke(transactional_map_key_set_with_predicate_codec,
                                         predicate=self._to_data(predicate))
          return self._encode_invoke(transactional_map_key_set_codec)
docs: Transactional implementation of :func:`Map.key_set(predicate) <hazelcast.proxy.map.Map.key_set>`
  
          :param predicate: (Predicate), predicate to filter the entries (optional).
          :return: (Sequence), a list of the clone of the keys.
  
          .. seealso::
              :class:`~hazelcast.serialization.predicate.Predicate` for more info about predicates.