### Question:
RestClient extends Client { @Override public void send(Cdr msg) throws EtiqetException { if (getRequestFactory() == null) { launchClient(); } HttpRequestMsg httpReqMsg = (HttpRequestMsg) transport.getCodec().encode(msg); try { String baseUrl = getClientConfig().getString("baseUrl"); httpReqMsg.setResponse(httpReqMsg.createHttpRequest(requestFactory, baseUrl).execute()); msgQueue.add((Cdr) transport.getCodec().decode(httpReqMsg)); } catch (IOException e) { LOG.error("Error sending HTTP Request", e); throw new EtiqetException("Error sending HTTP Request", e); } } RestClient(String clientConfig);  RestClient(String primaryConfig, String secondaryConfig);  RestClient(String primaryClientConfig, String secondaryClientConfig,
      ProtocolConfig protocol); @Override void launchClient(String configPath); @Override void send(Cdr msg); @Override void send(Cdr msg, String sessionId); @Override Cdr waitForMsgType(String msgType, Integer timeoutMillis); @Override void stop(); @Override boolean isLoggedOn(); @Override String getMsgType(String messageType); @Override String getMsgName(String messageName); @Override Cdr waitForNoMsgType(String msgType, Integer timeoutMillis);  }### Answer:
@Test public void testDecode() throws EtiqetException { client.send(testCdr); assertNotNull(client.waitForAppMsg()); }