private int ReadId() { var length = _reader.ReadUint(); var header = new Header(); header.Deserialize(_reader); var isError = header.Code >= CommandE.ErrorMin && header.Code < CommandE.ErrorMax; if (isError) { var errorMessage = ReadErrorMessage(); _reader.ReadRawBytes((int)length); throw new ResponseErrorException(header.SyncId, errorMessage); } return(header.SyncId); }