docs: public void execute() throws Exception {
          ActionRequest request = requestBuilder.request();
  
          //todo: maby change to instanceof multi?
          if(requestBuilder instanceof JoinRequestBuilder){
              executeJoinRequestAndSendResponse();
          }
  		else if (request instanceof SearchRequest) {
  			client.search((SearchRequest) request, new RestStatusToXContentListener<SearchResponse>(channel));
  		} else if (requestBuilder instanceof SqlElasticDeleteByQueryRequestBuilder) {
              throw new UnsupportedOperationException("currently not support delete on elastic 2.0.0");
          }
          else if(request instanceof GetIndexRequest) {
              this.requestBuilder.getBuilder().execute( new GetIndexRequestRestListener(channel, (GetIndexRequest) request));
          }
  
  
  		else {
  			throw new Exception(String.format("Unsupported ActionRequest provided: %s", request.getClass().getName()));
  		}
  	}