+ public synchronized AdderResult calculate(String user)
+ {
+ if (!state.containsKey(user))
+ throw new IllegalStateException("No sumation for " + user + " in progress");
+
+ return new AdderResult(66, state.remove(user));
+ }
+
+ protected Map<String, Long> getState()