}
private IdlType createUnion(CorbaTypeImpl ctype, IdlScopeBase scope, String local) {
Union u = (Union)ctype;
boolean undefinedCircular = false;
IdlType disc = findType(u.getDiscriminator());
IdlUnion union = IdlUnion.create(scope, local, disc);
scope.holdForScope(union);
Iterator it = u.getUnionbranch().iterator();
while (it.hasNext()) {
Unionbranch ub = (Unionbranch)it.next();
QName qname = ub.getIdltype();
IdlType bt = findType(qname);
boolean isDefault = false;
if (ub.isSetDefault()) {
isDefault = ub.isDefault();
}
IdlUnionBranch b = IdlUnionBranch.create(union, ub.getName(), bt, isDefault);