@Override
        public Result search(Query query, Execution execution) {
            Result result = execution.search(query);
            for (Searcher branch : branches) {
                Query branchQuery = parallel ? query.clone() : query;
                Result branchResult =
                        ( carryOverContext ? new Execution(branch, execution.context()) : 
                                             new Execution(branch, Execution.Context.createContextStub())).search(branchQuery);
                result.hits().add(branchResult.hits());
                result.mergeWith(branchResult);
            }
            return result;
        }
If true, simulate parallel execution by cloning the query
container-search/src/test/java/com/yahoo/search/searchchain/test/TraceTestCase.java