code: public ListenableFuture<V> findOneAsync(Object... keys) {
          Timer time = getMetrics().getTimer(MetricsType.DATA_PROVIDER_FIND_ONE.name());
  
          ListenableFuture<V> transform = Futures.transform(findAsync(keys), (List<V> result) -> result.isEmpty() ? null : result.get(0));
  
          monitorFuture(time, transform);
  
          return transform;
      }
docs: Get record async by specified keys and send result to consumer
  
  @param keys Primary keys
  
  @return True if result will be completed successfully and False if result will be completed with error