public Future<KafkaVersionChange> reconcile()    {
        return getVersionFromController()
                .compose(i -> getPods())
                .compose(this::detectToAndFromVersions)
                .compose(i -> prepareVersionChange());
    }
@Test
    public void testNewClusterWithAllVersions(VertxTestContext context) {
        VersionChangeCreator vcc = mockVersionChangeCreator(
                mockKafka(VERSIONS.defaultVersion().version(), VERSIONS.defaultVersion().protocolVersion(), VERSIONS.defaultVersion().messageVersion()),
                mockNewCluster(null, null, List.of())
        );

        Checkpoint async = context.checkpoint();
        vcc.reconcile().onComplete(context.succeeding(c -> context.verify(() -> {
            assertThat(c.from(), is(VERSIONS.defaultVersion()));
            assertThat(c.to(), is(VERSIONS.defaultVersion()));
            assertThat(c.interBrokerProtocolVersion(), nullValue());
            assertThat(c.logMessageFormatVersion(), nullValue());
            assertThat(c.metadataVersion(), is(VERSIONS.defaultVersion().metadataVersion()));

            async.flag();
        })));
    }