+ if (state.containsKey(user))
+ throw new IllegalStateException("Sumation for " + user + " already in progress, state: " + state.get(user));
+
+ state.put(user, 0l);
+ }
+
+ public synchronized Optional<Long> getSum(String user)
+ {
+ return Optional.empty();