int cvi = 0; for (int i = 0, n = input.readUnsignedShort(); i < n; ++i) { VM_Atom attName   = declaringClass.getUtf(input.readUnsignedShort()); int     attLength = input.readInt(); if (attName == VM_ClassLoader.constantValueAttributeName) { cvi = input.readUnsignedShort(); } else if (attName == VM_ClassLoader.syntheticAttributeName) { modifiers |= SYNTHETIC; } else {  input.skipBytes(attLength); } }  constantValueIndex = cvi;
  VM_Field(VM_Class declaringClass, VM_MemberReference memRef,           int modifiers, DataInputStream input) throws IOException {    super(declaringClass, memRef, modifiers & APPLICABLE_TO_FIELDS);    memRef.asFieldReference().setResolvedMember(this);        // Read the attributes, processing the "non-boring" ones    int cvi = 0; // kludge to allow us to make constantValueIndex final.    for (int i = 0, n = input.readUnsignedShort(); i < n; ++i) {      VM_Atom attName   = declaringClass.getUtf(input.readUnsignedShort());      int     attLength = input.readInt();      if (attName == VM_ClassLoader.constantValueAttributeName) {        cvi = input.readUnsignedShort();		} else if (attName == VM_ClassLoader.syntheticAttributeName) {		  modifiers |= SYNTHETIC;      } else {        // all other attributes are boring...        input.skipBytes(attLength);      }    }        constantValueIndex = cvi;  }