def METHOD_NAME(self) -> list[list["ConfigService"]]:
    """
    Find startup path sets based on service dependencies.
    :return: lists of lists of services that can be started in parallel
    """
    paths = []
    for name in self.node_services:
        service = self.node_services[name]
        if service.name in self.started:
            logger.debug(
                "skipping service that will already be started: %s", service.name
            )
            continue
        path = self._start(service)
        if path:
            paths.append(path)
    if self.started != set(self.node_services):
        raise ValueError(
            f"failure to start all services: {self.started} != "
            f"{self.node_services.keys()}"
        )
    return paths