static int wireType(int key, int byteL) {
      int wireType = key & (1 << 3) - 1;
      if (wireType != 0 && wireType != 1 && wireType != 2 && wireType != 5) {
        throw new IllegalArgumentException(
          "Malformed: invalid wireType " + wireType + " at byte " + byteL);
      }
      return wireType;
    }
"Each key in the streamed message is a varint with the value {@code (field_number << 3) |
wire_type}"

<p>See https://developers.google.com/protocol-buffers/docs/encoding#structure
zipkin/src/main/java/zipkin2/internal/Proto3Fields.java