class DynamicEventizerProvider implements EventizerProvider {

    @SuppressWarnings("unchecked")
    @Override
    public <T> Eventizer<T> getEventizerForType(Class<T> type) {
        Eventizer<T> eventizer = (Eventizer<T>) cache.get(type);
        if (eventizer == null) {
            eventizer = new DynamicEventizer<>(type);
            cache.put(type, eventizer);
        }
        return eventizer;
    }

}