@Override
    public Result execute(Operation operation) {
      Objects.requireNonNull(operation, "operation");
      if (operation instanceof StandardOperations.Insert) {
        return DefaultResult.of(insert((StandardOperations.Insert) operation));
      } else if (operation instanceof StandardOperations.Select) {
        return DefaultResult.of(select((StandardOperations.Select) operation));
      } else if (operation instanceof StandardOperations.GetByKey) {
        return DefaultResult.of(getByKey((StandardOperations.GetByKey) operation));
      } else if (operation instanceof StandardOperations.DeleteByKey) {
        return DefaultResult.of(deleteByKey((StandardOperations.DeleteByKey) operation));
      } else if (operation instanceof StandardOperations.Delete) {
        return DefaultResult.of(delete((StandardOperations.Delete) operation));
      }

      return DefaultResult.of(Flowable.error(new UnsupportedOperationException(String.format("Op %s not supported", operation))));
    }
Queries <a href="https://www.elastic.co/">ElasticSearch</a> data-store.
criteria/elasticsearch/src/org/immutables/criteria/elasticsearch/ElasticsearchBackend.java