public void setSrc(VariableReference newSrc)
{
if (newSrc != src)
{
NotificationChain msgs = null;
if (src != null)
msgs = ((InternalEObject)src).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - PatternLanguagePackage.PATH_EXPRESSION_HEAD__SRC, null, msgs);
if (newSrc != null)
msgs = ((InternalEObject)newSrc).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - PatternLanguagePackage.PATH_EXPRESSION_HEAD__SRC, null, msgs);
msgs = basicSetSrc(newSrc, msgs);
if (msgs != null) msgs.dispatch();
}
else if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, PatternLanguagePackage.PATH_EXPRESSION_HEAD__SRC, newSrc, newSrc));
}