docs: def get_states(self, config_ids):
          """
          Generates state information for the selected container and its dependencies / dependents.
  
          :param config_ids: MapConfigId tuples.
          :type config_ids: list[dockermap.map.input.MapConfigId]
          :return: Iterable of configuration states.
          :rtype: collections.Iterable[dockermap.map.state.ConfigState]
          """
          input_paths = [
              (config_id, list(self.get_dependency_path(config_id)))
              for config_id in config_ids
          ]
          log.debug("Dependency paths from input: %s", input_paths)
          dependency_paths = merge_dependency_paths(input_paths)
          log.debug("Merged dependency paths: %s", dependency_paths)
          return itertools.chain.from_iterable(self._get_all_states(config_id, dependency_path)
                                               for config_id, dependency_path in dependency_paths)