}
if (nameAttribute != null) {
Integer index = fReferenceNames.get(nameAttribute);
if (index != null) {
result[0] = index.toString();
Reference ref = fReferences.get(index - 1);
int count = ref.incCounter();
if (count >= Reference.CHARACTER_REFS.length()) {
result[1] = nameAttribute + '_' + 'Z';
} else {
result[1] = nameAttribute + '_' + Reference.CHARACTER_REFS.charAt(count);
}
return result;
}
}
if (nameAttribute != null) {
fReferences.add(new Reference(reference, nameAttribute));
Integer index = Integer.valueOf(fReferences.size());
fReferenceNames.put(nameAttribute, index);
result[1] = nameAttribute + "_a";
} else {
fReferences.add(new Reference(reference));
}
result[0] = Integer.toString(fReferences.size());
return result;
}