docs: public void setTerminal(AbstractElement newTerminal) {
  		if (newTerminal != terminal) {
  			NotificationChain msgs = null;
  			if (terminal != null)
  				msgs = ((InternalEObject)terminal).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - XtextPackage.ABSTRACT_NEGATED_TOKEN__TERMINAL, null, msgs);
  			if (newTerminal != null)
  				msgs = ((InternalEObject)newTerminal).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - XtextPackage.ABSTRACT_NEGATED_TOKEN__TERMINAL, null, msgs);
  			msgs = basicSetTerminal(newTerminal, msgs);
  			if (msgs != null) msgs.dispatch();
  		}
  		else if (eNotificationRequired())
  			eNotify(new ENotificationImpl(this, Notification.SET, XtextPackage.ABSTRACT_NEGATED_TOKEN__TERMINAL, newTerminal, newTerminal));
  	}