code: Lockable<V> getEvent(EventId eventId) {
  		return eventsBufferCache.computeIfAbsent(eventId, id -> {
  			try {
  				return eventsBuffer.get(id);
  			} catch (Exception ex) {
  				throw new WrappingRuntimeException(ex);
  			}
  		});
  	}
docs: It always returns event either from state or cache.
  
  @param eventId id of the event
  @return event