driver-core/src/main/com/mongodb/operation/AggregateOperation.java
public ReadOperation<BsonDocument> asExplainableOperation(final ExplainVerbosity explainVerbosity) {
        return new AggregateExplainOperation(getNamespace(), getPipeline())
               .allowDiskUse(getAllowDiskUse())
               .maxTime(getMaxAwaitTime(TimeUnit.MILLISECONDS), TimeUnit.MILLISECONDS)
               .hint(wrapped.getHint())
               .retryReads(getRetryReads());
    }
public ReadOperation<BsonDocument> asExplainableOperation(final ExplainVerbosity explainVerbosity) {
        return new AggregateExplainOperation(getNamespace(), getPipeline())
               .allowDiskUse(getAllowDiskUse())
               .maxTime(getMaxAwaitTime(TimeUnit.MILLISECONDS), TimeUnit.MILLISECONDS)
               .hint(wrapped.getHint())
               .retryReads(getRetryReads());
    }
Gets an operation whose execution explains this operation.

@param explainVerbosity the explain verbosity
@return a read operation that when executed will explain this operation