in camel-upgrade-recipes/src/main/java/org/apache/camel/upgrade/UpgradeJavaVersion.java [55:69]
public TreeVisitor<?, ExecutionContext> getVisitor() {
String newVersion = version.toString();
Map<JavaVersion, JavaVersion> updatedMarkers = new HashMap<>();
return new JavaIsoVisitor<>() {
@Override
public J preVisit(J tree, ExecutionContext ctx) {
Optional<JavaVersion> maybeJavaVersion = tree.getMarkers().findFirst(JavaVersion.class);
if (maybeJavaVersion.isPresent() && maybeJavaVersion.get().getMajorVersion() < version) {
return tree.withMarkers(tree.getMarkers().setByType(updatedMarkers.computeIfAbsent(maybeJavaVersion.get(),
m -> m.withSourceCompatibility(newVersion).withTargetCompatibility(newVersion))));
}
return tree;
}
};
}