public override int Serialize(TSource source, SerializationContext context)
        {
            DateTime value = GetValue(source);

            if (IsOptional && value == DefaultValue)
            {
                return(0);
            }
            return(WritePrefix(context)
                   + ProtoTimeSpan.SerializeDateTime(value, context, true));
        }