code: public void setBusHaltBinding(Map<BusItineraryHalt, Pair<Integer, Float>> binding) {
  		if (binding != null) {
  			BusItineraryHalt halt;
  			boolean shapeChanged = false;
  			for (final Entry<BusItineraryHalt, Pair<Integer, Float>> entry : binding.entrySet()) {
  				halt = entry.getKey();
  				halt.setRoadSegmentIndex(entry.getValue().getKey());
  				halt.setPositionOnSegment(entry.getValue().getValue());
  				halt.checkPrimitiveValidity();
  				shapeChanged = true;
  			}
  			if (shapeChanged) {
  				fireShapeChanged(new BusChangeEvent(this,
  						BusChangeEventType.ITINERARY_CHANGED,
  						null,
  						-1,
  						"shape", //$NON-NLS-1$
  						null,
  						null));
  			}
  			checkPrimitiveValidity();
  		}
  	}
docs: Set the binding informations for all the bus halts of this itinerary.
  
  @param binding are the pairs containing the index of the road segment and the
  curviline position of each bus itinerary halt.