public int addAttr(QName attribute, int attValue, int attType, boolean specified, boolean search) throws Exception {  int chunk; int index; if (search) { chunk = fCurrentHandle >> CHUNK_SHIFT; index = fCurrentHandle & CHUNK_MASK; for (int attrIndex = fCurrentHandle; attrIndex < fAttrCount; attrIndex++) {  if (fStringPool.equalNames(fAttName[chunk][index], attribute.rawname)) { return -1; } if (++index == CHUNK_SIZE) { chunk++; index = 0; } } } else { chunk = fAttrCount >> CHUNK_SHIFT; index = fAttrCount & CHUNK_MASK; } ensureCapacity(chunk, index); fAttPrefix[chunk][index] = attribute.prefix; fAttLocalpart[chunk][index] = attribute.localpart; fAttName[chunk][index] = attribute.rawname; fAttURI[chunk][index] = attribute.uri; fAttValue[chunk][index] = attValue; fAttType[chunk][index] = attType; fAttFlags[chunk][index] = (byte)(specified ? ATTFLAG_SPECIFIED : 0); return fAttrCount++;  }
public int addAttr(int attrName, int attValue, int attType, boolean specified, boolean search) throws Exception { fAttributeQName.setValues(-1, attrName, attrName); return addAttr(fAttributeQName, attValue, attType, specified, search); }
    public int addAttr(QName attribute,                        int attValue, int attType,                        boolean specified, boolean search) throws Exception {        int chunk;        int index;        if (search) {            chunk = fCurrentHandle >> CHUNK_SHIFT;            index = fCurrentHandle & CHUNK_MASK;            for (int attrIndex = fCurrentHandle; attrIndex < fAttrCount; attrIndex++) {                // REVISIT: Should this be localpart?                if (fStringPool.equalNames(fAttName[chunk][index], attribute.rawname)) {                    return -1;                }                if (++index == CHUNK_SIZE) {                    chunk++;                    index = 0;                }            }        } else {            chunk = fAttrCount >> CHUNK_SHIFT;            index = fAttrCount & CHUNK_MASK;        }        ensureCapacity(chunk, index);        fAttPrefix[chunk][index] = attribute.prefix;        fAttLocalpart[chunk][index] = attribute.localpart;        fAttName[chunk][index] = attribute.rawname;        fAttURI[chunk][index] = attribute.uri;        fAttValue[chunk][index] = attValue;        fAttType[chunk][index] = attType;        fAttFlags[chunk][index] = (byte)(specified ? ATTFLAG_SPECIFIED : 0);        return fAttrCount++;    } // addAttr(QName,int,int,boolean,boolean):int