ClusterClientCursorImpl::ClusterClientCursorImpl(executor::TaskExecutor* executor,
                                                 const ClusterClientCursorParams& params,
                                                 const std::vector<HostAndPort>& remotes)
    : _root(buildMergerPlan(executor, params, remotes)) {}
ClusterClientCursorImpl::ClusterClientCursorImpl(OperationContext* opCtx,
                                                 executor::TaskExecutor* executor,
                                                 ClusterClientCursorParams&& params,
                                                 boost::optional<LogicalSessionId> lsid)
    : _params(std::move(params)), _root(buildMergerPlan(opCtx, executor, &_params)), _lsid(lsid) {}
ClusterClientCursorImpl::ClusterClientCursorImpl(executor::TaskExecutor* executor,
                                                 ClusterClientCursorParams params)
    : _isTailable(params.isTailable), _root(buildMergerPlan(executor, std::move(params))) {}
ClusterClientCursorImpl::ClusterClientCursorImpl(executor::TaskExecutor* executor,
                                                 ClusterClientCursorParams&& params)
    : _params(std::move(params)), _root(buildMergerPlan(executor, &_params)) {}