private Datatype(Builder builder, boolean throwIfUninitialized) {
if (throwIfUninitialized && ! builder.__uninitialized.isEmpty())
throw new IllegalArgumentException("The following builder parameters for " +
"documenttypes.documenttype[].datatype[] must be initialized: " + builder.__uninitialized);
id = (builder.id == null) ?
new IntegerNode() : new IntegerNode(builder.id);
type = (builder.type == null) ?
new Type() : new Type(builder.type);
array = new Array(builder.array, throwIfUninitialized);
map = new Map(builder.map, throwIfUninitialized);
wset = new Wset(builder.wset, throwIfUninitialized);
annotationref = new Annotationref(builder.annotationref, throwIfUninitialized);
sstruct = new Sstruct(builder.sstruct, throwIfUninitialized);
}