@Override public HashMap getAverageSessionMemory() { NSMutableDictionary<String, Long> avg = new NSMutableDictionary<>(); NSDictionary<String, Long> startMemory = null; NSMutableDictionary<String, Long> currentMemory = memoryUsage(); try { startMemory = (NSDictionary<String, Long>) initMemoryField.get(this); } catch (Exception e) { // ignore } int sessionCount = activeSessions().size(); Long totalSessionMemory = Long.valueOf(0L); Long averageSessionMemory = Long.valueOf(0L); if (startMemory != null && sessionCount > 0) { totalSessionMemory = Long.valueOf( startMemory.get("Free Memory").longValue() - currentMemory.get("Free Memory").longValue()); averageSessionMemory = Long.valueOf(totalSessionMemory.longValue() / sessionCount); } avg.setObjectForKey(totalSessionMemory, "Total Memory"); avg.setObjectForKey(averageSessionMemory, "Per Session"); return avg.hashMap(); }