'Refresh children:
This method is to be used when any of the libraries that this block
references have been updated. It will re-fetch all matching blocks from
the libraries, and copy them as children of this block. The children
will be given new block_ids, but the definition ID used should be the
exact same definition ID used in the library.
This method will update this block\'s \'source_library_id\' field to store
the version number of the libraries used, so we easily determine if
this block is up to date or not.'

@XBlock.handler
def refresh_children(self, request=None, suffix=None):

    user_perms = self.runtime.service(self, 'studio_user_permissions')
    user_id = self.get_user_id()
    if (not self.tools):
        return Response('Library    Tools    unavailable    in    current    runtime.', status=400)
    self.tools.update_children(self, user_id, user_perms)
    return Response()
