class BusNetwork extends AbstractBusContainer<BusContainer<?>, BusLine> {

	@Pure
	public Iterable<BusHub> busHubs() {
		final MultiCollection<BusHub> col = new MultiCollection<>();
		col.addCollection(this.validBusHubs);
		col.addCollection(this.invalidBusHubs);
		return Collections.unmodifiableCollection(col);
	}

	public  BusNetwork(String name, RoadNetwork roadNetwork, AttributeCollection attributeProvider);
	public  BusNetwork(UUID id, String name, RoadNetwork roadNetwork, AttributeCollection attributeProvider);
	public  BusNetwork(RoadNetwork roadNetwork, AttributeCollection attributeProvider);
	public  BusNetwork(UUID id, RoadNetwork roadNetwork, AttributeCollection attributeProvider);
	public  BusNetwork(String name, RoadNetwork roadNetwork);
	public  BusNetwork(UUID id, String name, RoadNetwork roadNetwork);
	public  BusNetwork(RoadNetwork roadNetwork);
	public  BusNetwork(UUID id, RoadNetwork roadNetwork);

}