@Test public void readString() throws Exception { }
protected String readString(InputStream in) throws IOException { int length = readInt(in); if (length < 0) { return null; } else if (length == 0) { return StringUtils.EMPTY; } else { byte[] value = new byte[length]; in.read(value); return StringSerializer.decode(value); } }
SimpleMapSerializer { protected String readString(InputStream in) throws IOException { int length = readInt(in); if (length < 0) { return null; } else if (length == 0) { return StringUtils.EMPTY; } else { byte[] value = new byte[length]; in.read(value); return StringSerializer.decode(value); } } }
SimpleMapSerializer { protected String readString(InputStream in) throws IOException { int length = readInt(in); if (length < 0) { return null; } else if (length == 0) { return StringUtils.EMPTY; } else { byte[] value = new byte[length]; in.read(value); return StringSerializer.decode(value); } }  }
SimpleMapSerializer { protected String readString(InputStream in) throws IOException { int length = readInt(in); if (length < 0) { return null; } else if (length == 0) { return StringUtils.EMPTY; } else { byte[] value = new byte[length]; in.read(value); return StringSerializer.decode(value); } }  byte[] encode(Map<String, String> map); Map<String, String> decode(byte[] bytes); int readInt(InputStream in); }
SimpleMapSerializer { protected String readString(InputStream in) throws IOException { int length = readInt(in); if (length < 0) { return null; } else if (length == 0) { return StringUtils.EMPTY; } else { byte[] value = new byte[length]; in.read(value); return StringSerializer.decode(value); } }  byte[] encode(Map<String, String> map); Map<String, String> decode(byte[] bytes); int readInt(InputStream in);  }