code: void remove(final WComponent aChild) {
  		ComponentModel model = getOrCreateComponentModel();
  
  		if (model.getChildren() == null) {
  			model.setChildren(copyChildren(getComponentModel().getChildren()));
  		}
  
  		if (model.getChildren().remove(aChild)) {
  			// Deallocate children list if possible, to reduce session size.
  			if (model.getChildren().isEmpty()) {
  				model.setChildren(null);
  			}
  
  			// The child component has been successfully removed so clean up the context.
  			aChild.reset();
  
  			// If the parent has been set in the shared model, we must override
  			// it in the session model for the component to be considered removed.
  			// This unfortunately means that the model will remain in the user's session.
  			if (aChild.getParent() != null && aChild instanceof AbstractWComponent) {
  				((AbstractWComponent) aChild).getOrCreateComponentModel().setParent(null);
  				((AbstractWComponent) aChild).removeNotify();
  			}
  		}
  	}
docs: Removes the given component from this component's list of children.
  
  @param aChild child component