docs: @Override
  	public void revalidate() {
  		// Override this function to be sure that
  		// the invalid and valid collections
  		// has no impact of the iteration on
  		// the elements in this itinerary
  		final BusItineraryHalt[] tabV = new BusItineraryHalt[this.validHalts.size()];
  		this.validHalts.toArray(tabV);
  		final BusItineraryHalt[] tabI = new BusItineraryHalt[this.invalidHalts.size()];
  		this.invalidHalts.toArray(tabI);
  
  		// Revalidate valid halts
  		for (final BusItineraryHalt halt : tabV) {
  			assert halt != null;
  			halt.revalidate();
  		}
  
  		// Revalidate invalid halts
  		for (final BusItineraryHalt halt : tabI) {
  			assert halt != null;
  			halt.revalidate();
  		}
  
  		checkPrimitiveValidity();
  	}