@Override
 protected QueryBuilder doRewrite(QueryRewriteContext queryShardContext) throws IOException {
   QueryBuilder rewrittenQuery = query.rewrite(queryShardContext);
   if (rewrittenQuery != query) {
     InnerHitBuilder rewrittenInnerHit = InnerHitBuilder.rewrite(innerHit, rewrittenQuery);
     return new HasParentQueryBuilder(type, rewrittenQuery, score, rewrittenInnerHit);
   }
   return this;
 }