gt: 		StringBuffer result = new StringBuffer(super.toString());
context: /**
   */
  package de.devboost.natspec.library.documentation.impl;
  
  import de.devboost.natspec.library.documentation.DocumentationPackage;
  import de.devboost.natspec.library.documentation.NamedElement;
  
  import org.eclipse.emf.common.notify.Notification;
  
  import org.eclipse.emf.ecore.EClass;
  
  import org.eclipse.emf.ecore.impl.ENotificationImpl;
  import org.eclipse.emf.ecore.impl.EObjectImpl;
  
  /**
   * <!-- begin-user-doc -->
   * An implementation of the model object '<em><b>Named Element</b></em>'.
   * <!-- end-user-doc -->
   * <p>
   * The following features are implemented:
   * <ul>
   *   <li>{@link de.devboost.natspec.library.documentation.impl.NamedElementImpl#getId <em>Id</em>}</li>
   *   <li>{@link de.devboost.natspec.library.documentation.impl.NamedElementImpl#getName <em>Name</em>}</li>
   * </ul>
   * </p>
   *
   * @generated
   */
  public abstract class NamedElementImpl extends EObjectImpl implements NamedElement
  {
    /**
  	 * The default value of the '{@link #getId() <em>Id</em>}' attribute.
  	 * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
  	 * @see #getId()
  	 * @generated
  	 * @ordered
  	 */
    protected static final String ID_EDEFAULT = null;
  
    /**
  	 * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
  	 * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
  	 * @see #getId()
  	 * @generated
  	 * @ordered
  	 */
    protected String id = ID_EDEFAULT;
  
    /**
  	 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
  	 * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
  	 * @see #getName()
  	 * @generated
  	 * @ordered
  	 */
    protected static final String NAME_EDEFAULT = null;
  
    /**
  	 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
  	 * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
  	 * @see #getName()
  	 * @generated
  	 * @ordered
  	 */
    protected String name = NAME_EDEFAULT;
  
    /**
  	 * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
  	 * @generated
  	 */
    protected NamedElementImpl()
    {
  		super();
  	}
  
    /**
  	 * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
  	 * @generated
  	 */
    @Override
    protected EClass eStaticClass()
    {
  		return DocumentationPackage.Literals.NAMED_ELEMENT;
  	}
  
    /**
  	 * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
  	 * @generated
  	 */
    public String getId()
    {
  		return id;
  	}
  
    /**
  	 * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
  	 * @generated
  	 */
    public void setId(String newId)
    {
  		String oldId = id;
  		id = newId;
  		if (eNotificationRequired())
  			eNotify(new ENotificationImpl(this, Notification.SET, DocumentationPackage.NAMED_ELEMENT__ID, oldId, id));
  	}
  
    /**
  	 * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
  	 * @generated
  	 */
    public String getName()
    {
  		return name;
  	}
  
    /**
  	 * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
  	 * @generated
  	 */
    public void setName(String newName)
    {
  		String oldName = name;
  		name = newName;
  		if (eNotificationRequired())
  			eNotify(new ENotificationImpl(this, Notification.SET, DocumentationPackage.NAMED_ELEMENT__NAME, oldName, name));
  	}
  
    /**
  	 * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
  	 * @generated
  	 */
    @Override
    public Object eGet(int featureID, boolean resolve, boolean coreType)
    {
  		switch (featureID) {
  			case DocumentationPackage.NAMED_ELEMENT__ID:
  				return getId();
  			case DocumentationPackage.NAMED_ELEMENT__NAME:
  				return getName();
  		}
  		return super.eGet(featureID, resolve, coreType);
  	}
  
    /**
  	 * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
  	 * @generated
  	 */
    @Override
    public void eSet(int featureID, Object newValue)
    {
  		switch (featureID) {
  			case DocumentationPackage.NAMED_ELEMENT__ID:
  				setId((String)newValue);
  				return;
  			case DocumentationPackage.NAMED_ELEMENT__NAME:
  				setName((String)newValue);
  				return;
  		}
  		super.eSet(featureID, newValue);
  	}
  
    /**
  	 * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
  	 * @generated
  	 */
    @Override
    public void eUnset(int featureID)
    {
  		switch (featureID) {
  			case DocumentationPackage.NAMED_ELEMENT__ID:
  				setId(ID_EDEFAULT);
  				return;
  			case DocumentationPackage.NAMED_ELEMENT__NAME:
  				setName(NAME_EDEFAULT);
  				return;
  		}
  		super.eUnset(featureID);
  	}
  
    /**
  	 * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
  	 * @generated
  	 */
    @Override
    public boolean eIsSet(int featureID)
    {
  		switch (featureID) {
  			case DocumentationPackage.NAMED_ELEMENT__ID:
  				return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
  			case DocumentationPackage.NAMED_ELEMENT__NAME:
  				return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
  		}
  		return super.eIsSet(featureID);
  	}
  
    /**
  	 * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
  	 * @generated
  	 */
    @Override
    public String toString()
    {
  		if (eIsProxy()) return super.toString();
  
  