code: <ResultT> AggregateIterable<ResultT> aggregate(
        final MongoNamespace namespace,
        final List<? extends Bson> pipeline,
        final Class<ResultT> resultClass) {
      this.waitUntilInitialized();
  
      ongoingOperationsGroup.enter();
      try {
        return getLocalCollection(namespace).aggregate(pipeline, resultClass);
      } finally {
        ongoingOperationsGroup.exit();
      }
    }
docs: Aggregates documents according to the specified aggregation pipeline.
  
  @param pipeline    the aggregation pipeline
  @param resultClass the class to decode each document into
  @param <ResultT>   the target document type of the iterable.
  @return an iterable containing the result of the aggregation operation