code: function setContainerComponent(oComponentContainer, vComponent, bSuppressInvalidate, bDestroyOldComponent) {
  		// find the reference to the current component and to the old component
  		var oComponent = typeof vComponent === "string" ? Core.getComponent(vComponent) : vComponent;
  		var oOldComponent = oComponentContainer.getComponentInstance();
  		// if there is no difference between the old and the new component just skip this setter
  		if (oOldComponent !== oComponent) {
  			// unlink the old component from the container
  			if (oOldComponent) {
  				oOldComponent.setContainer(undefined);
  				if (bDestroyOldComponent) {
  					oOldComponent.destroy();
  				} else {
  					// cleanup the propagated properties in case of not destroying the component
  					oComponentContainer._propagateProperties(true, oOldComponent, ManagedObject._oEmptyPropagatedProperties, true);
  				}
  			}
  			// set the new component
  			oComponentContainer.setAssociation("component", oComponent, bSuppressInvalidate);
  			// cross link the new component and propagate the properties (models)
  			oComponent = oComponentContainer.getComponentInstance();
  			if (oComponent) {
  				oComponent.setContainer(oComponentContainer);
  				oComponentContainer.propagateProperties(true); //propagate all
  			}
  		}
  	}
docs: /*
  Helper function to set the new Component of the container.