Sorry if I wasn't clear. I was comparing this to where it is called in `executeProtocolCommand`. `createRequest` will serialize data and see that it is an empty string, and set the content-length to 0. However `executeProtocolCommand` has no similar check, so it will write `""` to the stream, even through the headers say `Content-Length: 0`.