public static List<Event> computeEventDiff(final Params params) {
        final List<Event> events = new ArrayList<>();

        emitPerNodeDiffEvents(createBaselineParams(params), events);
        emitWholeClusterDiffEvent(createBaselineParams(params), events);
        emitDerivedBucketSpaceStatesDiffEvents(params, events);
        return events;
    }
@Test
    void enabling_distribution_config_in_state_bundle_emits_cluster_level_event() {
        var fixture = EventFixture.createForNodes(3)
                .clusterStateBefore("distributor:3 storage:3")
                .clusterStateAfter("distributor:3 storage:3")
                .distributionConfigBefore(null)
                .distributionConfigAfter(flatClusterDistribution(3));

        var events = fixture.computeEventDiff();
        assertThat(events.size(), equalTo(1));
        assertThat(events, hasItem(clusterEventWithDescription(
                "Cluster controller is now the authoritative source for distribution config. " +
                "Active config: 3 nodes; 1 groups; redundancy 2; searchable-copies 0")));
    }