This should be `private[spark]`