final int sizeInBytes(T value) {
      if (value == null) return 0;
      int sizeOfValue = sizeOfValue(value);
      return sizeOfLengthDelimitedField(sizeOfValue);
    }
Leniently skips out null, but not on empty string, allowing tag "error" -> "" to serialize
properly.

<p>This won't result in empty {@link zipkin2.Span#name()} or {@link Endpoint#serviceName()}
because in both cases constructors coerce empty values to null.
zipkin/src/main/java/zipkin2/internal/Proto3Fields.java