public ComposedScalar(ComposedScalar other)
     : base(other)
 {
     _fastType       = other._fastType;
     _fields         = other._fields.CloneArray();
     _valueConverter = other._valueConverter;
 }
 public ComposedScalar(QName name, FastType fastType, Scalar[] fields, bool optional,
                       IComposedValueConverter valueConverter) : base(name, optional)
 {
     _fields         = fields;
     _valueConverter = valueConverter;
     _fastType       = fastType;
 }
 public ComposedScalar(ComposedScalar other)
     : base(other)
 {
     _fastType = other._fastType;
     _fields = other._fields.CloneArray();
     _valueConverter = other._valueConverter;
 }
 public ComposedScalar(QName name, FastType fastType, Scalar[] fields, bool optional,
                       IComposedValueConverter valueConverter)
     : base(name, optional)
 {
     _fields = fields;
     _valueConverter = valueConverter;
     _fastType = fastType;
 }
 public ComposedScalar(string name, FastType fastType, Scalar[] fields, bool optional,
                       IComposedValueConverter valueConverter)
     : this(new QName(name), fastType, fields, optional, valueConverter)
 {
 }
 public ComposedScalar(string name, FastType fastType, Scalar[] fields, bool optional,
                       IComposedValueConverter valueConverter)
     : this(new QName(name), fastType, fields, optional, valueConverter)
 {
 }