@Override protected synchronized JSON data() { JSONArray r = new JSONArray(); for (User u : modified) { UserInfo i = users.get(u); JSONObject entry = new JSONObject() .accumulate("id", u.getId()) .accumulate("fullName", u.getFullName()) .accumulate("url", u.getUrl()) .accumulate( "avatar", i.avatar != null ? i.avatar : Stapler.getCurrentRequest().getContextPath() + Functions.getResourcePath() + "/images/" + iconSize + "/user.png") .accumulate("timeSortKey", i.getTimeSortKey()) .accumulate("lastChangeTimeString", i.getLastChangeTimeString()); AbstractProject<?, ?> p = i.getProject(); if (p != null) { entry .accumulate("projectUrl", p.getUrl()) .accumulate("projectFullDisplayName", p.getFullDisplayName()); } r.add(entry); } modified.clear(); return r; }