public override int Serialize(TSource source, SerializationContext context) { TimeSpan value = GetValue(source); if (IsOptional && value == DefaultValue) { return(0); } return(WritePrefix(context) + ProtoTimeSpan.SerializeTimeSpan(value, context, true)); }