@Inject
 public FetchPhase(
     Set<FetchSubPhase> fetchSubPhases, InnerHitsFetchSubPhase innerHitsFetchSubPhase) {
   innerHitsFetchSubPhase.setFetchPhase(this);
   this.fetchSubPhases = fetchSubPhases.toArray(new FetchSubPhase[fetchSubPhases.size() + 1]);
   this.fetchSubPhases[fetchSubPhases.size()] = innerHitsFetchSubPhase;
 }
 @Inject
 public FetchPhase(
     HighlightPhase highlightPhase,
     ScriptFieldsFetchSubPhase scriptFieldsPhase,
     MatchedQueriesFetchSubPhase matchedQueriesPhase,
     ExplainFetchSubPhase explainPhase,
     VersionFetchSubPhase versionPhase,
     FetchSourceSubPhase fetchSourceSubPhase,
     FieldDataFieldsFetchSubPhase fieldDataFieldsFetchSubPhase,
     InnerHitsFetchSubPhase innerHitsFetchSubPhase) {
   innerHitsFetchSubPhase.setFetchPhase(this);
   this.fetchSubPhases =
       new FetchSubPhase[] {
         scriptFieldsPhase,
         matchedQueriesPhase,
         explainPhase,
         highlightPhase,
         fetchSourceSubPhase,
         versionPhase,
         fieldDataFieldsFetchSubPhase,
         innerHitsFetchSubPhase
       };
 }