object ReadCollectionItem(CollectionDataContract collectionContract, Type itemType) { if (collectionContract.Kind == CollectionKind.Dictionary || collectionContract.Kind == CollectionKind.GenericDictionary) { context.ResetAttributes(); var revisedContract = XmlObjectSerializerWriteContextComplexJson.GetRevisedItemContract(collectionContract.ItemContract); var v = DataContractJsonSerializer.ReadJsonValue(revisedContract, xmlReader, context); return(CodeInterpreter.ConvertValue(v, Globals.TypeOfObject, itemType)); } else { return(ReadValue(itemType, JsonGlobals.itemString)); } }