internal void ValidateInitializerMetadata(InitializerMetadata metadata)
 {
     DebugCheck.NotNull(metadata);
     InitializerMetadata existingMetadata;
     if (_initializers != null
         && _initializers.TryGetValue(metadata.ClrType, out existingMetadata))
     {
         // Verify the initializers are compatible.
         if (!metadata.Equals(existingMetadata))
         {
             throw new NotSupportedException(
                 Strings.ELinq_UnsupportedHeterogeneousInitializers(
                     DescribeClrType(metadata.ClrType)));
         }
     }
     else
     {
         // Register the metadata so that subsequent initializers for this type can be verified.
         if (_initializers == null)
         {
             _initializers = new Dictionary<Type, InitializerMetadata>();
         }
         _initializers.Add(metadata.ClrType, metadata);
     }
 }
 internal void ValidateInitializerMetadata(InitializerMetadata metadata)
 {
     Debug.Assert(null != metadata);
     InitializerMetadata existingMetadata;
     if (_initializers != null && _initializers.TryGetValue(metadata.ClrType, out existingMetadata))
     {
         // Verify the initializers are compatible.
         if (!metadata.Equals(existingMetadata))
         {
             throw EntityUtil.NotSupported(System.Data.Entity.Strings.ELinq_UnsupportedHeterogeneousInitializers(
                 ExpressionConverter.DescribeClrType(metadata.ClrType)));
         }
     }
     else
     {
         // Register the metadata so that subsequent initializers for this type can be verified.
         if (_initializers == null)
         {
             _initializers = new Dictionary<Type, InitializerMetadata>();
         }
         _initializers.Add(metadata.ClrType, metadata);
     }
 }