code: private boolean addBusHub(BusHub hub) {
  		if (hub == null) {
  			return false;
  		}
  		if (this.validBusHubs.contains(hub)) {
  			return false;
  		}
  		if (ListUtil.contains(this.invalidBusHubs, INVALID_HUB_COMPARATOR, hub)) {
  			return false;
  		}
  
  		final boolean isValidPrimitive = hub.isValidPrimitive();
  
  		if (isValidPrimitive) {
  			if (!this.validBusHubs.add(hub)) {
  				return false;
  			}
  		} else if (ListUtil.addIfAbsent(this.invalidBusHubs, INVALID_HUB_COMPARATOR, hub) < 0) {
  			return false;
  		}
  
  		hub.setEventFirable(isEventFirable());
  		hub.setContainer(this);
  		if (isEventFirable()) {
  			firePrimitiveChanged(new BusChangeEvent(this,
  					BusChangeEventType.HUB_ADDED,
  					hub,
  					-1,
  					null,
  					null,
  					null));
  			hub.checkPrimitiveValidity();
  			checkPrimitiveValidity();
  		}
  		return true;
  	}
docs: Add the given bus hub in the network.
  
  @param hub is the new bus hub.
  @return <code>true</code> on success, otherwise <code>false</code>.