'Clones each module into the given course'

def _clone_modules(self, modules, dest_course_id, user_id):

    for module in modules:
        original_loc = module.location
        module.location = module.location.map_into_course(dest_course_id)
        if (module.location.category == 'course'):
            module.location = module.location.replace(name=module.location.run)
        log.info('Cloning    module    %s    to    %s....', original_loc, module.location)
        if (('data' in module.fields) and module.fields['data'].is_set_on(module) and isinstance(module.data, basestring)):
            module.data = rewrite_nonportable_content_links(original_loc.course_key, dest_course_id, module.data)
        if module.has_children:
            new_children = []
            for child_loc in module.children:
                child_loc = child_loc.map_into_course(dest_course_id)
                new_children.append(child_loc)
            module.children = new_children
        self.update_item(module, user_id, allow_not_found=True)
