'Given a new slug to be assigned to this document, return a
list of documents (if any) which would be overwritten by
moving this document or any of its children in that fashion.'

def _tree_conflicts(self, new_slug):

    conflicts = []
    try:
        existing = Document.objects.get(locale=self.locale, slug=new_slug)
        if (not existing.is_redirect):
            conflicts.append(existing)
    except Document.DoesNotExist:
        pass
    for child in self.get_descendants():
        child_title = child.slug.split('/')[(-1)]
        try:
            slug = '/'.join([new_slug, child_title])
            existing = Document.objects.get(locale=self.locale, slug=slug)
            if (not existing.get_redirect_url()):
                conflicts.append(existing)
        except Document.DoesNotExist:
            pass
    return conflicts
