}
JSONArray rawDigests = results.getJSONArray("digests");
for (int i = 0; i < rawDigests.length(); i++) {
JSONObject rawDigest = rawDigests.getJSONObject(i);
try {
RobotSearchDigest digest = new RobotSearchDigestGsonImpl();
digest.setWaveId(WaveId.deserialise(rawDigest.getString("waveId")).serialise());
JSONArray rawParticipants = rawDigest.getJSONArray("participants");
for (int j = 0; j < rawParticipants.length(); j++) {
digest.addParticipant(rawParticipants.getString(j));
}
digest.setTitle(rawDigest.getString("title"));
digest.setSnippet(rawDigest.getString("snippet"));
digest.setLastModifiedMillis(rawDigest.getLong("lastModified"));
digest.setBlipCount(rawDigest.getInt("blipCount"));
digest.setUnreadBlipCount(rawDigest.getInt("unreadCount"));
digests.add(digest);
} catch (JSONException e) {
throw new RuntimeException("Failed to parse search digest: " + rawDigest, e);
}
}