Yes. Thinking about it again the best approach might be to remove the `Send` and, in the `encrypt` method, copy only the next `maxBufferSize` bytes from the write ByteString into a ByteBuffer from the pool and have the SSLEngine `wrap` these bytes into another ByteBuffer from the pool (which we already do). We can then `drop` the actually wrapped number of bytes from the ByteString and recurse until everything has been written.
This costs us two allocations per subsequent iteration: one for the ByteString `drop` and one for the iterator performing the copy to ByteBuffer, but saves us the creation of a HeapByteBuffer per write.