buf.append("\n ").append("<serverTimestamp>").append(new java.sql.Timestamp(new java.util.Date().getTime()).toString()).append("</serverTimestamp>");
buf.append("\n ").append("<numClients>").append(r.getNumClients()).append("</numClients>");
buf.append("\n ").append("<clientList>").appendEscaped(r.getClientList()).append("</clientList>");
SubjectInfo[] clients = r.getAuthenticate().getSubjectInfoArr();
for (int c=0; c<clients.length; c++) {
SubjectInfo subjectInfo = clients[c];
if (subjectInfo.getLoginName().startsWith("__")) continue;// Ignore internal sessions
buf.append("\n ").append("<client id='").appendEscaped(subjectInfo.getLoginName()).append("'>");
SessionInfo[] sessions = subjectInfo.getSessions();
for (int s=0; s<sessions.length; s++) {
SessionInfo sessionInfo = sessions[s];
buf.append("\n ").append("<session id='").append(sessionInfo.getPublicSessionId()).append("'>");
buf.append("\n ").append("<state>").append(sessionInfo.getConnectionState()).append("</state>");
ClientProperty[] props = sessionInfo.getRemotePropertyArr();