Use base cursor class for operations.

Otherwise we get cast exception with new MergeCursor usage, etc.