private void sendInstruction(GuacamoleInstruction instruction)
                    throws IOException {
                sendInstruction(instruction.toString());
            }
Sends a Guacamole instruction along the outbound WebSocket
connection to the connected Guacamole client. If an instruction
is already in the process of being sent by another thread, this
function will block until in-progress instructions are complete.

@param instruction
    The instruction to send.

@throws IOException
    If an I/O error occurs preventing the given instruction from being
    sent.
guacamole/src/main/java/org/apache/guacamole/tunnel/websocket/tomcat/GuacamoleWebSocketTunnelServlet.java