public static void renderException(XContentBuilder builder, Params params, Exception e)
     throws IOException {
   builder.startObject("error");
   final ElasticsearchException[] rootCauses = ElasticsearchException.guessRootCauses(e);
   builder.field("root_cause");
   builder.startArray();
   for (ElasticsearchException rootCause : rootCauses) {
     builder.startObject();
     rootCause.toXContent(
         builder,
         new ToXContent.DelegatingMapParams(
             Collections.singletonMap(ElasticsearchException.REST_EXCEPTION_SKIP_CAUSE, "true"),
             params));
     builder.endObject();
   }
   builder.endArray();
   ElasticsearchException.toXContent(builder, params, e);
   builder.endObject();
 }