def sendBoxCommand(self, command, box, requiresAnswer=True):
if self._outstandingRequests is None:<EOL><INDENT>return fail(CONNECTION_LOST)<EOL><DEDENT>box[COMMAND] = command<EOL>tag = self._nextTag()<EOL>if requiresAnswer:<EOL><INDENT>box[ASK] = tag<EOL>result = self._outstandingRequests[tag] = Deferred()<EOL><DEDENT>else:<EOL><INDENT>result = None<EOL><DEDENT>box.sendTo(self)<EOL>return result<EOL>
Send a command across the wire with the given C{juice.Box}.

Returns a Deferred which fires with the response C{juice.Box} when it
is received, or fails with a C{juice.RemoteJuiceError} if an error is
received.

If the Deferred fails and the error is not handled by the caller of
this method, the failure will be logged and the connection dropped.