public override void EncodeObject(object value, bool arrayEncoding, ByteBuffer buffer) { if (arrayEncoding) { object describedValue = ((DescribedType)value).Value; EncodingBase encoding = AmqpEncoding.GetEncoding(describedValue); encoding.EncodeObject(describedValue, true, buffer); } else { DescribedEncoding.Encode((DescribedType)value, buffer); } }