SOAPFactory fac, OMNamespace defaultNS, boolean qualified, AxisService service) {
if (dataType instanceof PrimitiveDataType) {
child.addChild(fac.createOMText(child, resObject.toString()));
} else if (dataType instanceof Typedef) {
Typedef typedef = (Typedef) dataType;
AliasValue aliasValue = (AliasValue) resObject;
OMNamespace ns = getNameSpaceForType(fac, service, typedef);
OMElement item = fac.createOMElement(ARRAY_ITEM, ns, child);
processResponse(item, child, aliasValue.getValue(), typedef.getDataType(), fac, ns, qualified, service);
} else if (dataType instanceof AbstractCollectionType) {
AbstractCollectionType collectionType = (AbstractCollectionType) dataType;
AbstractCollectionValue collectionValue = (AbstractCollectionValue) resObject;
Object[] values = collectionValue.getValues();
int length = values.length;