code: public void setPredicate(XExpression newPredicate)
  	{
  		if (newPredicate != predicate)
  		{
  			NotificationChain msgs = null;
  			if (predicate != null)
  				msgs = ((InternalEObject)predicate).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - XbasePackage.XABSTRACT_WHILE_EXPRESSION__PREDICATE, null, msgs);
  			if (newPredicate != null)
  				msgs = ((InternalEObject)newPredicate).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - XbasePackage.XABSTRACT_WHILE_EXPRESSION__PREDICATE, null, msgs);
  			msgs = basicSetPredicate(newPredicate, msgs);
  			if (msgs != null) msgs.dispatch();
  		}
  		else if (eNotificationRequired())
  			eNotify(new ENotificationImpl(this, Notification.SET, XbasePackage.XABSTRACT_WHILE_EXPRESSION__PREDICATE, newPredicate, newPredicate));
  	}
docs: <!-- begin-user-doc -->
  <!-- end-user-doc -->
  @generated