public Future<KafkaVersionChange> reconcile()    {
        return getPods()
                .compose(this::detectToAndFromVersions)
                .compose(i -> prepareVersionChange());
    }
@Test
    public void testDowngradeWithWrongCurrentMetadataVersion(VertxTestContext context) {
        VersionChangeCreator vcc = mockVersionChangeCreator(
                mockKafka(VERSIONS.version(KafkaVersionTestUtils.PREVIOUS_KAFKA_VERSION).version(), "5.11-IV1", VERSIONS.version(KafkaVersionTestUtils.PREVIOUS_KAFKA_VERSION).metadataVersion()),
                mockRos(mockUniformPods(VERSIONS.defaultVersion().version()))
        );

        Checkpoint async = context.checkpoint();
        vcc.reconcile().onComplete(context.failing(c -> context.verify(() -> {
            assertThat(c, is(instanceOf(KafkaUpgradeException.class)));
            assertThat(c.getMessage(), is("The current metadata version (5.11-IV1) has to be lower or equal to the Kafka broker version we are downgrading to (" + VERSIONS.version(KafkaVersionTestUtils.PREVIOUS_KAFKA_VERSION).version() + ")"));

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