def METHOD_NAME(
    self, network: TransitNetwork, game: Game
) -> Optional[ControlPoint]:
    sources = []
    for control_point in game.theater.control_points_for(self.destination.captured):
        if control_point.can_recruit_ground_units(
            game
        ) and network.has_path_between(self.destination, control_point):
            sources.append(control_point)
    if not sources:
        return None
    # Fast path to skip the distance calculation if we have only one option.
    if len(sources) == 1:
        return sources[0]
    closest = sources[0]
    _, cost = network.shortest_path_with_cost(self.destination, closest)
    for source in sources:
        _, new_cost = network.shortest_path_with_cost(self.destination, source)
        if new_cost < cost:
            closest = source
            cost = new_cost
    return closest