### Question:
ClientWave { public Wavelet fetchWavelet(WaveId waveId, WaveletId waveletId) throws ClientWaveException { return fetchWavelet(waveId, waveletId, null); } ClientWave(JSONRpcHandler jsonHandler); List<JsonRpcResponse> submit(Wavelet wavelet); Wavelet blindWavelet(WaveId waveId, WaveletId waveletId); Wavelet blindWavelet(WaveId waveId, WaveletId waveletId,
			String proxyForId); Wavelet blindWavelet(WaveId waveId, WaveletId waveletId,
			String proxyForId, Map<String, Blip> blips); Wavelet newWave(String domain, Set<String> participants); Wavelet newWave(String domain, Set<String> participants,
			String proxyForId); Wavelet newWave(String domain, Set<String> participants, String msg,
			String proxyForId); Wavelet newWaveWithSubmit(String domain, Set<String> participants,
			String msg, String proxyForId); Wavelet fetchWavelet(WaveId waveId, WaveletId waveletId); Wavelet fetchWavelet(WaveId waveId, WaveletId waveletId,
			String proxyForId); SearchResult search(String query, int index, int numResults); void folder(FolderAction action, WaveId waveId);  }### Answer:
@Test public void testEmptyDeserialize() throws Exception { ClientWave wave = new ClientWave(new JSONRpcHandler() { public String request(String jsonBody) throws Exception { Assert .assertEquals( "[{\"method\":\"wave.robot.fetchWave\",\"id\":\"op1\",\"params\":{\"waveId\":\"googlewave.com!testwaveid\",\"waveletId\":\"googlewave.com!conv+root\"}}]", jsonBody); return "[{\"id\":\"op1\",\"data\":{}}]"; } }); Wavelet wavelet = wave.fetchWavelet(new WaveId("googlewave.com", "testwaveid"), new WaveletId("googlewave.com", "conv+root")); Assert.assertNull(wavelet); }