private object CopyCore(EmberWriter writer, int inner)
{
switch (inner)
{
case Ember.InnerNumber.Boolean:
var boolean = this.ReadContentsAsBoolean();
writer.WriteValue(this.outer.GetValueOrDefault(), boolean);
return boolean;
case Ember.InnerNumber.Integer:
var int64 = this.ReadContentsAsInt64();
writer.WriteValue(this.outer.GetValueOrDefault(), int64);
return int64;
case Ember.InnerNumber.Octetstring:
var byteArray = this.ReadContentsAsByteArray();
writer.WriteValue(this.outer.GetValueOrDefault(), byteArray);
return byteArray;
case Ember.InnerNumber.Real:
var dbl = this.ReadContentsAsDouble();
writer.WriteValue(this.outer.GetValueOrDefault(), dbl);
return dbl;
case Ember.InnerNumber.Utf8String:
var str = this.ReadContentsAsString();
writer.WriteValue(this.outer.GetValueOrDefault(), str);
return str;
case Ember.InnerNumber.RelativeObjectIdentifier:
var int32Array = this.ReadContentsAsInt32Array();
writer.WriteValue(this.outer.GetValueOrDefault(), int32Array);
return int32Array;
case Ember.InnerNumber.Sequence:
writer.WriteStartSequence(this.outer.GetValueOrDefault());
this.CopyToEndContainer(writer, null);
return null;
case Ember.InnerNumber.Set:
writer.WriteStartSet(this.outer.GetValueOrDefault());
this.CopyToEndContainer(writer, null);
return null;
default:
writer.WriteStartApplicationDefinedType(this.outer.GetValueOrDefault(), inner);
this.CopyToEndContainer(writer, null);
return null;
}
}