class FlywayVersionContentTreeCallback extends AbstractContentTreeCallback {

    static Pair<String, List<Integer>> versionFromName(final String name) {
        final List<Integer> version = new ArrayList<>();
        final Matcher matcher = FLYWAY_PATCH_PATTERN.matcher(name);
        if (matcher.find()) {
            final Matcher major = FLYWAY_MAJOR_PATCH_PATTERN.matcher(name);
            major.find();
            version.add(parseInt(major.group(1)));
            for (final Matcher minor = FLYWAY_MINOR_PATCH_PATTERN.matcher(name); minor.find(); ) {
                version.add(parseInt(minor.group(1)));
            }
        }
        return of(name, version);
    }

    public  FlywayVersionContentTreeCallback(final Consumer<List<Pair<String, List<Integer>>>> callBack);

}