In RowDataResolver, reduce calls to replies.size(), and use replies.peek() instead of replies.iterator().next()