code: public boolean removeBusStop(BusStop busStop) {
  		if (this.validBusStops.remove(busStop)) {
  			busStop.setContainer(null);
  			busStop.setEventFirable(true);
  			fireShapeChanged(new BusChangeEvent(this,
  					BusChangeEventType.STOP_REMOVED,
  					busStop,
  					-1,
  					"shape", //$NON-NLS-1$
  					null,
  					null));
  			checkPrimitiveValidity();
  			return true;
  		}
  		final int idx = ListUtil.remove(this.invalidBusStops, INVALID_STOP_COMPARATOR, busStop);
  		if (idx >= 0) {
  			busStop.setContainer(null);
  			fireShapeChanged(new BusChangeEvent(this,
  					BusChangeEventType.STOP_REMOVED,
  					busStop,
  					-1,
  					"shape", //$NON-NLS-1$
  					null,
  					null));
  			checkPrimitiveValidity();
  			return true;
  		}
  		return false;
  	}
docs: Remove a bus stop from this network.
  If this bus stop removal implies empty hubs, these hubs
  will be also removed.
  
  @param busStop is the bus stop to remove.
  @return <code>true</code> if the bus stop was successfully removed, otherwise <code>false</code>