gt:     if (eIsProxy()) return super.toString();
context: /**
   * generated by Xtext
   */
  package org.eclipse.xtext.formatting2.internal.formattertestlanguage.impl;
  
  import org.eclipse.emf.common.notify.Notification;
  
  import org.eclipse.emf.ecore.EClass;
  
  import org.eclipse.emf.ecore.impl.ENotificationImpl;
  
  import org.eclipse.xtext.formatting2.internal.formattertestlanguage.FormattertestlanguagePackage;
  import org.eclipse.xtext.formatting2.internal.formattertestlanguage.KWList;
  
  /**
   * <!-- begin-user-doc -->
   * An implementation of the model object '<em><b>KW List</b></em>'.
   * <!-- end-user-doc -->
   * <p>
   * The following features are implemented:
   * </p>
   * <ul>
   *   <li>{@link org.eclipse.xtext.formatting2.internal.formattertestlanguage.impl.KWListImpl#isKw1 <em>Kw1</em>}</li>
   *   <li>{@link org.eclipse.xtext.formatting2.internal.formattertestlanguage.impl.KWListImpl#isKw2 <em>Kw2</em>}</li>
   *   <li>{@link org.eclipse.xtext.formatting2.internal.formattertestlanguage.impl.KWListImpl#isKw3 <em>Kw3</em>}</li>
   *   <li>{@link org.eclipse.xtext.formatting2.internal.formattertestlanguage.impl.KWListImpl#isKw4 <em>Kw4</em>}</li>
   *   <li>{@link org.eclipse.xtext.formatting2.internal.formattertestlanguage.impl.KWListImpl#isKw5 <em>Kw5</em>}</li>
   * </ul>
   *
   * @generated
   */
  public class KWListImpl extends RootImpl implements KWList
  {
    /**
     * The default value of the '{@link #isKw1() <em>Kw1</em>}' attribute.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see #isKw1()
     * @generated
     * @ordered
     */
    protected static final boolean KW1_EDEFAULT = false;
  
    /**
     * The cached value of the '{@link #isKw1() <em>Kw1</em>}' attribute.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see #isKw1()
     * @generated
     * @ordered
     */
    protected boolean kw1 = KW1_EDEFAULT;
  
    /**
     * The default value of the '{@link #isKw2() <em>Kw2</em>}' attribute.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see #isKw2()
     * @generated
     * @ordered
     */
    protected static final boolean KW2_EDEFAULT = false;
  
    /**
     * The cached value of the '{@link #isKw2() <em>Kw2</em>}' attribute.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see #isKw2()
     * @generated
     * @ordered
     */
    protected boolean kw2 = KW2_EDEFAULT;
  
    /**
     * The default value of the '{@link #isKw3() <em>Kw3</em>}' attribute.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see #isKw3()
     * @generated
     * @ordered
     */
    protected static final boolean KW3_EDEFAULT = false;
  
    /**
     * The cached value of the '{@link #isKw3() <em>Kw3</em>}' attribute.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see #isKw3()
     * @generated
     * @ordered
     */
    protected boolean kw3 = KW3_EDEFAULT;
  
    /**
     * The default value of the '{@link #isKw4() <em>Kw4</em>}' attribute.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see #isKw4()
     * @generated
     * @ordered
     */
    protected static final boolean KW4_EDEFAULT = false;
  
    /**
     * The cached value of the '{@link #isKw4() <em>Kw4</em>}' attribute.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see #isKw4()
     * @generated
     * @ordered
     */
    protected boolean kw4 = KW4_EDEFAULT;
  
    /**
     * The default value of the '{@link #isKw5() <em>Kw5</em>}' attribute.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see #isKw5()
     * @generated
     * @ordered
     */
    protected static final boolean KW5_EDEFAULT = false;
  
    /**
     * The cached value of the '{@link #isKw5() <em>Kw5</em>}' attribute.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see #isKw5()
     * @generated
     * @ordered
     */
    protected boolean kw5 = KW5_EDEFAULT;
  
    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    protected KWListImpl()
    {
      super();
    }
  
    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    @Override
    protected EClass eStaticClass()
    {
      return FormattertestlanguagePackage.Literals.KW_LIST;
    }
  
    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public boolean isKw1()
    {
      return kw1;
    }
  
    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public void setKw1(boolean newKw1)
    {
      boolean oldKw1 = kw1;
      kw1 = newKw1;
      if (eNotificationRequired())
        eNotify(new ENotificationImpl(this, Notification.SET, FormattertestlanguagePackage.KW_LIST__KW1, oldKw1, kw1));
    }
  
    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public boolean isKw2()
    {
      return kw2;
    }
  
    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public void setKw2(boolean newKw2)
    {
      boolean oldKw2 = kw2;
      kw2 = newKw2;
      if (eNotificationRequired())
        eNotify(new ENotificationImpl(this, Notification.SET, FormattertestlanguagePackage.KW_LIST__KW2, oldKw2, kw2));
    }
  
    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public boolean isKw3()
    {
      return kw3;
    }
  
    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public void setKw3(boolean newKw3)
    {
      boolean oldKw3 = kw3;
      kw3 = newKw3;
      if (eNotificationRequired())
        eNotify(new ENotificationImpl(this, Notification.SET, FormattertestlanguagePackage.KW_LIST__KW3, oldKw3, kw3));
    }
  
    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public boolean isKw4()
    {
      return kw4;
    }
  
    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public void setKw4(boolean newKw4)
    {
      boolean oldKw4 = kw4;
      kw4 = newKw4;
      if (eNotificationRequired())
        eNotify(new ENotificationImpl(this, Notification.SET, FormattertestlanguagePackage.KW_LIST__KW4, oldKw4, kw4));
    }
  
    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public boolean isKw5()
    {
      return kw5;
    }
  
    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    public void setKw5(boolean newKw5)
    {
      boolean oldKw5 = kw5;
      kw5 = newKw5;
      if (eNotificationRequired())
        eNotify(new ENotificationImpl(this, Notification.SET, FormattertestlanguagePackage.KW_LIST__KW5, oldKw5, kw5));
    }
  
    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    @Override
    public Object eGet(int featureID, boolean resolve, boolean coreType)
    {
      switch (featureID)
      {
        case FormattertestlanguagePackage.KW_LIST__KW1:
          return isKw1();
        case FormattertestlanguagePackage.KW_LIST__KW2:
          return isKw2();
        case FormattertestlanguagePackage.KW_LIST__KW3:
          return isKw3();
        case FormattertestlanguagePackage.KW_LIST__KW4:
          return isKw4();
        case FormattertestlanguagePackage.KW_LIST__KW5:
          return isKw5();
      }
      return super.eGet(featureID, resolve, coreType);
    }
  
    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    @Override
    public void eSet(int featureID, Object newValue)
    {
      switch (featureID)
      {
        case FormattertestlanguagePackage.KW_LIST__KW1:
          setKw1((Boolean)newValue);
          return;
        case FormattertestlanguagePackage.KW_LIST__KW2:
          setKw2((Boolean)newValue);
          return;
        case FormattertestlanguagePackage.KW_LIST__KW3:
          setKw3((Boolean)newValue);
          return;
        case FormattertestlanguagePackage.KW_LIST__KW4:
          setKw4((Boolean)newValue);
          return;
        case FormattertestlanguagePackage.KW_LIST__KW5:
          setKw5((Boolean)newValue);
          return;
      }
      super.eSet(featureID, newValue);
    }
  
    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    @Override
    public void eUnset(int featureID)
    {
      switch (featureID)
      {
        case FormattertestlanguagePackage.KW_LIST__KW1:
          setKw1(KW1_EDEFAULT);
          return;
        case FormattertestlanguagePackage.KW_LIST__KW2:
          setKw2(KW2_EDEFAULT);
          return;
        case FormattertestlanguagePackage.KW_LIST__KW3:
          setKw3(KW3_EDEFAULT);
          return;
        case FormattertestlanguagePackage.KW_LIST__KW4:
          setKw4(KW4_EDEFAULT);
          return;
        case FormattertestlanguagePackage.KW_LIST__KW5:
          setKw5(KW5_EDEFAULT);
          return;
      }
      super.eUnset(featureID);
    }
  
    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    @Override
    public boolean eIsSet(int featureID)
    {
      switch (featureID)
      {
        case FormattertestlanguagePackage.KW_LIST__KW1:
          return kw1 != KW1_EDEFAULT;
        case FormattertestlanguagePackage.KW_LIST__KW2:
          return kw2 != KW2_EDEFAULT;
        case FormattertestlanguagePackage.KW_LIST__KW3:
          return kw3 != KW3_EDEFAULT;
        case FormattertestlanguagePackage.KW_LIST__KW4:
          return kw4 != KW4_EDEFAULT;
        case FormattertestlanguagePackage.KW_LIST__KW5:
          return kw5 != KW5_EDEFAULT;
      }
      return super.eIsSet(featureID);
    }
  
    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    @Override
    public String toString()
    {
  