@Override
protected Map<ServerIdentity, ServerStatus> receiveResponse(InputStream input) throws IOException {
final Unmarshaller unmarshaller = getUnmarshaller();
unmarshaller.start(createByteInput(input));
ProtocolUtils.expectHeader(unmarshaller, ServerManagerProtocol.RETURN_SERVER_COUNT);
int count = unmarshaller.readInt();
final Map<ServerIdentity, ServerStatus> map = new HashMap<ServerIdentity, ServerStatus>();
for (int i = 0; i < count; i ++) {
ProtocolUtils.expectHeader(unmarshaller, ServerManagerProtocol.RETURN_SERVER_NAME);
String serverName = unmarshaller.readUTF();
ProtocolUtils.expectHeader(unmarshaller, ServerManagerProtocol.RETURN_SERVER_GROUP_NAME);