class EventuallyConsistentMapEvent {

    @Override
    public boolean equals(Object o) {
        if (!(o instanceof EventuallyConsistentMapEvent)) {
            return false;
        }

        EventuallyConsistentMapEvent that = (EventuallyConsistentMapEvent) o;
        return Objects.equals(this.type, that.type) &&
                Objects.equals(this.key, that.key) &&
                Objects.equals(this.value, that.value) &&
                Objects.equals(this.name, that.name);
    }

    public  EventuallyConsistentMapEvent(String name, Type type, K key, V value);

}