'Iterate over the source_list, then iterate over the data in each source.
Skip a given source in `source_list` if it is `None` or invalid.'

def __iter__(self):

    for source in self.source_list:
        if (not source):
            continue
        try:
            self.source = self.validate_source(source)
        except exceptions.InvalidDataProviderSource:
            continue
        parent_gen = super(MultiSourceDataProvider, self).__iter__()
        for datum in parent_gen:
            (yield datum)
