I manage to do something that slows stuff down in my full test plan which leads to spurious failures. This may be hinting at a bug of some type, or perhaps some bad defaults, but this code isn't attempting to test timeouts so they should never get in the way.
I think there may be a bigger bug around this, but it only occurs when trying to shut down a connection that shouldn't've started due to someone writing a broken connection factory, so I think we can live with it.
Turns out the ``not found'' error for prepend and append is different from that of other commands so I needed to make a case for it.
This is primarily because I don't know for sure the Whalin client would know what to do if it saw a 0 byte long.
This helps me ensure the contract of certain methods, and (shockingly) found some minor bugs in edge cases.
I knew pushing at that point was a dumb idea.
It shouldn't change at runtime in a client, as the current model was not thread safe. In order for this to be dynamically reconfigurable, the field either needs to be volatile or access to the value must be synchronized. By having the value be declared final and removing the mutators and accessors, we can guarantee correctness.