'See :meth: `.ModuleStoreWrite.clone_course` for documentation.
In split, other than copying the assets, this is cheap as it merely creates a new version of the
existing course.'

def clone_course(self, source_course_id, dest_course_id, user_id, fields=None, **kwargs):

    source_index = self.get_course_index_info(source_course_id)
    if (source_index is None):
        raise ItemNotFoundError('Cannot    find    a    course    at    {0}.    Aborting'.format(source_course_id))
    with self.bulk_operations(dest_course_id):
        new_course = self.create_course(dest_course_id.org, dest_course_id.course, dest_course_id.run, user_id, fields=fields, versions_dict=source_index['versions'], search_targets=source_index['search_targets'], skip_auto_publish=True, **kwargs)
        super(SplitMongoModuleStore, self).clone_course(source_course_id, dest_course_id, user_id, fields, **kwargs)
        return new_course
