class BusItineraryHalt extends AbstractBusPrimitive<BusItinerary> {

	@Pure
	public Direction1D getRoadSegmentDirection() {
		final BusItinerary itinerary = getContainer();
		if (itinerary != null && this.roadSegmentIndex >= 0 && this.roadSegmentIndex < itinerary.getRoadSegmentCount()) {
			return itinerary.getRoadSegmentDirection(this.roadSegmentIndex);
		}
		return null;
	}

	  BusItineraryHalt(BusItinerary itinerary, String name, BusItineraryHaltType type);
	  BusItineraryHalt(UUID id, BusItinerary itinerary, String name, BusItineraryHaltType type);
	  BusItineraryHalt(BusItinerary itinerary, String name, BusItineraryHaltType type, AttributeCollection attributeProvider);
	  BusItineraryHalt(UUID id, BusItinerary itinerary, String name, BusItineraryHaltType type,
			AttributeCollection attributeProvider);

}