'Yields AFF4 Objects of all our direct children.
This method efficiently returns all attributes for our children directly, in
a few data store round trips. We use the directory indexes to query the data
store.
Args:
children: A list of children RDFURNs to open. If None open all our
children.
mode: The mode the files should be opened with.
limit: Total number of items we will attempt to retrieve.
chunk_limit: Maximum number of items to retrieve at a time.
age: The age of the items to retrieve. Should be one of ALL_TIMES,
NEWEST_TIME or a range.
Yields:
Instances for each direct child.'

def OpenChildren(self, children=None, mode='r', limit=1000000, chunk_limit=100000, age=NEWEST_TIME):

    if (children is None):
        subjects = list(self.ListChildren(limit=limit, age=age))
    else:
        subjects = list(children)
    subjects.sort()
    while subjects:
        to_read = subjects[:chunk_limit]
        subjects = subjects[chunk_limit:]
        for child in FACTORY.MultiOpen(to_read, mode=mode, token=self.token, age=age):
            (yield child)
