docs: @Override
    public final void onEvent(CacheEvent<? extends K, ? extends V> event) {
      switch (event.getType()) {
        case CREATED:
          onCreation(event.getKey(), event.getNewValue());
          break;
        case UPDATED:
          onUpdate(event.getKey(), event.getOldValue(), event.getNewValue());
          break;
        case REMOVED:
          onRemoval(event.getKey(), event.getOldValue());
          break;
        case EXPIRED:
          onExpiry(event.getKey(), event.getOldValue());
          break;
        case EVICTED:
          onEviction(event.getKey(), event.getOldValue());
          break;
        default:
          throw new AssertionError("Unsupported event type " + event.getType());
      }
    }