protected override Action <object> OnPackingCore(ReflectionSerializerNilImplicationHandlerParameter parameter, Func <object, bool> condition)
 {
     return
         (value =>
     {
         if (condition(value))
         {
             SerializationExceptions.ThrowNullIsProhibited(parameter.MemberName);
         }
     });
 }
 protected override Func <object, bool> OnPackingReferenceTypeObject(ReflectionSerializerNilImplicationHandlerParameter parameter)
 {
     return(value => value == null);
 }
 protected override Func <object, bool> OnPackingNullableValueTypeObject(ReflectionSerializerNilImplicationHandlerParameter parameter)
 {
     // Runtime boxes 'null' Nullable<T> as null reference.
     return(value => value == null);
 }
 protected override Func <object, bool> OnPackingMessagePackObject(ReflectionSerializerNilImplicationHandlerParameter parameter)
 {
     return(value => (( MessagePackObject )value).IsNil);
 }