public static SupportLevel defaultSupportLevel(String firstVersion, String currentVersion) {
        if (firstVersion == null || firstVersion.isEmpty()) {
            throw new IllegalArgumentException(
                    "FirstVersion is not specified. This can be done in @UriEndpoint or in pom.xml file.");
        }

        // we only want major/minor (strip patch)
        Version v1 = new Version(firstVersion);
        v1 = new Version(v1.getMajor() + "." + v1.getMinor());
        Version v2 = new Version(currentVersion);
        v2 = new Version(v2.getMajor() + "." + v2.getMinor());

        boolean justNew = CamelVersionHelper.isGE(v2.toString(), v1.toString());
        boolean prevNew = CamelVersionHelper.isGE(CamelVersionHelper.prevMinor(v2.toString()), v1.toString());
        if (justNew || prevNew) {
            // its a new component (2 releases back) that is added to this version so lets mark it as preview by default
            return SupportLevel.Preview;
        } else {
            return SupportLevel.Stable;
        }
    }
@Test
    public void testPreview() {
        Assertions.assertEquals(SupportLevel.Preview, SupportLevelHelper.defaultSupportLevel("3.19.0", "3.20.0"));
        Assertions.assertEquals(SupportLevel.Preview, SupportLevelHelper.defaultSupportLevel("3.19.0", "3.20.1"));
        Assertions.assertEquals(SupportLevel.Preview, SupportLevelHelper.defaultSupportLevel("3.19.1", "3.20.1"));
        Assertions.assertEquals(SupportLevel.Preview, SupportLevelHelper.defaultSupportLevel("3.19.1", "3.20.2"));
        Assertions.assertNotEquals(SupportLevel.Preview, SupportLevelHelper.defaultSupportLevel("3.19.0", "3.21.0"));
    }