*/
public UnionType( String nsUri, String newTypeName, XSDatatype[] memberTypes ) throws DatatypeException {
super(nsUri,newTypeName);
if(memberTypes.length==0)
throw new DatatypeException(localize(ERR_EMPTY_UNION));
XSDatatypeImpl[] m = new XSDatatypeImpl[memberTypes.length];
System.arraycopy( memberTypes, 0, m, 0, memberTypes.length );
for( int i=0; i<m.length; i++ )
if( m[i].isFinal(DERIVATION_BY_UNION) )
throw new DatatypeException(localize(
ERR_INVALID_MEMBER_TYPE, m[i].displayName() ));
this.memberTypes = m;
}