This should probably be `private[spark]`