public TypeSerializerPair[] GetOperationSerializers(Object key)
 {
     if (key == null)
     {
         throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("key");
     }
     lock (thisLock)
     {
         if (!this.serializersCreated)
         {
             BuildSerializers();
             this.serializersCreated = true;
         }
         List <TypeSerializerPair> serializers = new List <TypeSerializerPair>();
         IList <Type> operationTypes           = this.operationTypes[key];
         for (int i = 0; i < operationTypes.Count; ++i)
         {
             TypeSerializerPair pair = new TypeSerializerPair();
             pair.Type       = operationTypes[i];
             pair.Serializer = new XmlSerializerXmlObjectSerializer(serializersMap[operationTypes[i]]);
             serializers.Add(pair);
         }
         return(serializers.ToArray());
     }
 }
 public TypeSerializerPair[] GetOperationSerializers(Object key)
 {
     if (key == null)
     {
         throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("key");
     }
     lock (thisLock)
     {
         if (!this.serializersCreated)
         {
             BuildSerializers();
             this.serializersCreated = true;
         }
         List<TypeSerializerPair> serializers = new List<TypeSerializerPair>();
         IList<Type> operationTypes = this.operationTypes[key];
         for (int i = 0; i < operationTypes.Count; ++i)
         {
             TypeSerializerPair pair = new TypeSerializerPair();
             pair.Type = operationTypes[i];
             pair.Serializer = new XmlSerializerXmlObjectSerializer(serializersMap[operationTypes[i]]);
             serializers.Add(pair);
         }
         return serializers.ToArray();
     }
 }