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-common/src/main/java/org/apache/guacamole/websocket/GuacamoleWebSocketTunnelEndpoint.java