FastSerialisationTypeConversionResult IFastSerialisationTypeConverter.GetDirectWriterIfPossible(Type sourceType, MemberSetterDetailsRetriever memberSetterDetailsRetriever)
        {
            if (sourceType == null)
            {
                throw new ArgumentNullException(nameof(sourceType));
            }
            if (memberSetterDetailsRetriever == null)
            {
                throw new ArgumentNullException(nameof(memberSetterDetailsRetriever));
            }

            return((sourceType == typeof(SerializationInfo))
                                ? FastSerialisationTypeConversionResult.SetToDefault(sourceType)
                                : null);
        }