/**
  * setAttrInvokeAccessor: generated method. Do not modify.
  *
  * @param index the index identifying the attribute
  * @param value the value to assign to the attribute
  * @param attrDef the attribute
  * @throws Exception the exception
  */
 protected void setAttrInvokeAccessor(int index, Object value, AttributeDefImpl attrDef)
     throws Exception {
   if ((index >= AttributesEnum.firstIndex()) && (index < AttributesEnum.count())) {
     AttributesEnum.staticValues()[index - AttributesEnum.firstIndex()].put(this, value);
     return;
   }
   super.setAttrInvokeAccessor(index, value, attrDef);
 }
 /**
  * getAttrInvokeAccessor: generated method. Do not modify.
  *
  * @param index the index identifying the attribute
  * @param attrDef the attribute
  * @return the attribute value
  * @throws Exception the exception
  */
 protected Object getAttrInvokeAccessor(int index, AttributeDefImpl attrDef) throws Exception {
   if ((index >= AttributesEnum.firstIndex()) && (index < AttributesEnum.count())) {
     return AttributesEnum.staticValues()[index - AttributesEnum.firstIndex()].get(this);
   }
   return super.getAttrInvokeAccessor(index, attrDef);
 }
 /**
  * Count.
  *
  * @return the int
  */
 public static int count() {
   return AttributesEnum.firstIndex() + AttributesEnum.staticValues().length;
 }
 /**
  * Static values.
  *
  * @return the attributes enum[]
  */
 public static AttributesEnum[] staticValues() {
   if (vals == null) {
     vals = AttributesEnum.values();
   }
   return vals;
 }
 /**
  * Index.
  *
  * @return the int
  */
 public int index() {
   return AttributesEnum.firstIndex() + ordinal();
 }