class BusItineraryHalt extends AbstractBusPrimitive<BusItinerary> {

	@Pure
	public boolean isStartingBusHalt() {
		final BusItinerary itinerary = getContainer();
		if (itinerary != null && itinerary.isValidPrimitive()) {
			try {
				return itinerary.getBusHaltAt(0) == this;
			} catch (IndexOutOfBoundsException exception) {
				// invalid halt
			}
		}
		return false;
	}

	  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);

}