if (theID.isQualified()) {
// Extract the qualifier...
Identifier id = theID.getQualifier();
// 28.3.2.7 Case sensitive module names.
env.modulesContext.assertPut(id.toString());
// Count them...
int count = 1;
Identifier current = id;
while (current.isQualified()) {
current = current.getQualifier();
count++;
}
result = new String[count];
int index = count-1;
current = id;
// Now walk them and fill our array (backwards)...
for (int i = 0; i < count; i++) {
String item = current.getName().toString();
// Check namesCache...
String cachedItem = (String) env.namesCache.get(item);
if (cachedItem == null) {
// 28.3.2.4 Illegal identifier characters...
cachedItem = convertToISOLatin1(item);
// Run it through the name checks...
cachedItem = getTypeOrModuleName(cachedItem);
// Add it to the namesCache...
env.namesCache.put(item,cachedItem);
}
result[index--] = cachedItem;
current = current.getQualifier();
}
}
// If it is supposed to be "boxed", prepend