'The process that discovers all repository dependencies for a specified repository\'s changeset
revision uses this method to populate the following items for the current processing loop:
filtered_current_repository_key_rd_dicts, self.key_rd_dicts_to_be_processed,
self.handled_key_rd_dicts, self.all_repository_dependencies.  Each processing loop may discover
more repository dependencies, so this method is repeatedly called until all repository
dependencies have been discovered.'

def populate_repository_dependency_objects_for_processing(self, current_repository_key, repository_dependencies_dict):

    current_repository_key_rd_dicts = []
    filtered_current_repository_key_rd_dicts = []
    for rd_tup in repository_dependencies_dict['repository_dependencies']:
        new_key_rd_dict = {}
        new_key_rd_dict[current_repository_key] = rd_tup
        current_repository_key_rd_dicts.append(new_key_rd_dict)
    if (current_repository_key_rd_dicts and current_repository_key):
        current_repository_key_rd_dicts = self.remove_repository_dependency_reference_to_self(current_repository_key_rd_dicts)
    current_repository_key_rd_dicts = self.get_updated_changeset_revisions_for_repository_dependencies(current_repository_key_rd_dicts)
    for key_rd_dict in current_repository_key_rd_dicts:
        if self.filter_dependencies_needed_for_compiling:
            key_rd_dict = self.filter_only_if_compiling_contained_td(key_rd_dict)
        if key_rd_dict:
            is_circular = False
            in_handled_key_rd_dicts = self.in_key_rd_dicts(key_rd_dict, self.handled_key_rd_dicts)
            in_key_rd_dicts_to_be_processed = self.in_key_rd_dicts(key_rd_dict, self.key_rd_dicts_to_be_processed)
            if ((not in_handled_key_rd_dicts) and (not in_key_rd_dicts_to_be_processed)):
                filtered_current_repository_key_rd_dicts.append(key_rd_dict)
                repository_dependency = key_rd_dict[current_repository_key]
                if (current_repository_key in self.all_repository_dependencies):
                    all_repository_dependencies_val = self.all_repository_dependencies[current_repository_key]
                    if (repository_dependency not in all_repository_dependencies_val):
                        all_repository_dependencies_val.append(repository_dependency)
                        self.all_repository_dependencies[current_repository_key] = all_repository_dependencies_val
                elif (not self.in_all_repository_dependencies(current_repository_key, repository_dependency)):
                    if self.is_circular_repository_dependency(current_repository_key, repository_dependency):
                        is_circular = True
                        self.handle_circular_repository_dependency(current_repository_key, repository_dependency)
                    else:
                        self.all_repository_dependencies[current_repository_key] = [repository_dependency]
                if ((not is_circular) and self.can_add_to_key_rd_dicts(key_rd_dict, self.key_rd_dicts_to_be_processed)):
                    new_key_rd_dict = {}
                    new_key_rd_dict[current_repository_key] = repository_dependency
                    self.key_rd_dicts_to_be_processed.append(new_key_rd_dict)
    return filtered_current_repository_key_rd_dicts
