Yields an unodered generator of subfolders in a folder.

        By default (with ``ann_id=None``), subfolders are shown for all
        anonymous users. Optionally, ``ann_id`` can be set to a username,
        which restricts the list to only subfolders owned by that user.

        :param str folder_id: Folder id
        :param str ann_id: Username
        :rtype: generator of subfolder_id

def subfolders(self, folder_id, ann_id=None):
        '''Yields an unodered generator of subfolders in a folder.

        By default (with ``ann_id=None``), subfolders are shown for all
        anonymous users. Optionally, ``ann_id`` can be set to a username,
        which restricts the list to only subfolders owned by that user.

        :param str folder_id: Folder id
        :param str ann_id: Username
        :rtype: generator of subfolder_id
        '''
        self.assert_valid_folder_id(folder_id)
        ann_id = self._annotator(ann_id)
        folder_cid = self.wrap_folder_content_id(ann_id, folder_id)
        if self.store.get(folder_cid) is None:
            raise KeyError(folder_id)
        all_labels = self.label_store.directly_connected(folder_cid)
        return nub(la.subtopic_for(folder_cid) for la in all_labels)