QName qname = corbaTypeImpl.getQName();
idltype = wsdlToCorbaBinding.getHelper().createQNameCorbaNamespace(qname.getLocalPart()
+ "_nil");
} else {
if (corbaTypeImpl == null) {
XmlSchemaObject schemaObj = getSchemaObject(wsdlToCorbaBinding, typeName);
XmlSchemaAnnotation annotation = null;
if (schemaObj instanceof XmlSchemaType) {
schemaType = (XmlSchemaType)schemaObj;
} else if (schemaObj instanceof XmlSchemaElement) {
XmlSchemaElement el = (XmlSchemaElement)schemaObj;
schemaType = el.getSchemaType();
annotation = ((XmlSchemaElement)schemaObj).getAnnotation();
}
idltype = getSchemaTypeName(wsdlToCorbaBinding, schemaType, annotation, typeName, nill);
} else {
idltype = corbaTypeImpl.getQName();
}
}
} else {
// We need to get annotation information for the schema type we are
// about to pass in.
// This is used to produce the correct object reference type.
XmlSchemaObject schemaObj = getSchemaObject(wsdlToCorbaBinding, typeName);
XmlSchemaAnnotation annotation = null;
if (schemaObj instanceof XmlSchemaElement) {
annotation = ((XmlSchemaElement)schemaObj).getAnnotation();
}
idltype = getSchemaTypeName(wsdlToCorbaBinding, schemaType, annotation, typeName, nill);