throws SAXException
{
endCharacters();
String iname = name.intern();
if (iname == iRESOURCE_TAG) {
ResourceDescription res = (ResourceDescription)resourceStack.pop();
res.setAttributeDescriptions((Vector)defsStack.pop());
Vector vresources = (Vector)resourceSetStack.peek();
vresources.addElement(res);
Vector vclasses = (Vector)classes.pop();
res.setClassHierarchy(vclasses);
Vector vinterfaces = (Vector)interfaces.pop();
res.setInterfaces(vinterfaces);
} else if (iname == iCHILDREN_TAG) {
ResourceDescription res =
(ResourceDescription)resourceStack.peek();
res.setChildren(array);
} else if (iname == iDESCR_TAG) {
ResourceDescription res = (ResourceDescription)resourceStack.pop();
Vector vresources = (Vector)resourceSetStack.peek();
vresources.addElement(res);
} else if (iname == iATTRIBUTE_TAG) {
currentS = null;
} else if (iname == iARRAY_TAG) {
AttributeDescription ad =
new AttributeDescription(currentA, currentA.unpickle(array));
Vector attrs = (Vector)defsStack.peek();
attrs.addElement(ad);
currentA = null;
} else if (iname == iRESARRAY_TAG) {
Vector vframes = (Vector) resourceSetStack.pop();
ResourceDescription frames[] =
new ResourceDescription[vframes.size()];
vframes.copyInto(frames);
AttributeDescription ad =
new AttributeDescription((Attribute)FAStack.pop(),
frames);