/// <summary> /// Create <see cref="MessagePackObject"/> which wraps appropriate empty collection. /// </summary> /// <param name="header">Header which has type information.</param> /// <returns><see cref="MessagePackObject"/> which wraps appropriate empty collection.</returns> private static MessagePackObject CreateEmptyCollection( MessagePackHeader header ) { Contract.Assert( header.ValueOrLength == 0, header.ToString() ); if ( ( header.Type & MessageType.IsArray ) != 0 ) { return new MessagePackObject( _emptyArray, true ); } else if ( ( header.Type & MessageType.IsMap ) != 0 ) { return new MessagePackObject( _emptyMap, true ); } else { return _emptyBinary.Value; } }