docs: boolean addBusHalt(BusItineraryHalt halt, int insertToIndex) {
  		//set index for right ordering when add to invalid list !
  		if (insertToIndex < 0) {
  			halt.setInvalidListIndex(this.insertionIndex);
  		} else {
  			halt.setInvalidListIndex(insertToIndex);
  		}
  
  		if (halt.isValidPrimitive()) {
  			ListUtil.addIfAbsent(this.validHalts, VALID_HALT_COMPARATOR, halt);
  		} else {
  			ListUtil.addIfAbsent(this.invalidHalts, INVALID_HALT_COMPARATOR, halt);
  		}
  		halt.setEventFirable(isEventFirable());
  		++this.insertionIndex;
  		if (isEventFirable()) {
  			fireShapeChanged(new BusChangeEvent(this,
  					BusChangeEventType.ITINERARY_HALT_ADDED,
  					halt,
  					halt.indexInParent(),
  					"shape", null, null)); //$NON-NLS-1$
  			checkPrimitiveValidity();
  		}
  		return true;
  	}