Currently, DocumentSourceExchange and DocumentSourceFacet do not use Pipeline::getNext() method to retrieve results from their sub-pipelines. This is because Pipeline::getNext() returns only the document being produced, while information about the execution of the Stage is also needed (pipeline->getSources().back()->getNext() satisfies this requirement).
We therefore introduce Pipeline::getNextResult() as an inlined proxy for pipeline->getSources().back()->getNext() returning GetNextResult.