Java iimplementation of event sourcing as described in