1616package org .openrewrite .java .migrate .lang ;
1717
1818import org .openrewrite .ExecutionContext ;
19+ import org .openrewrite .Preconditions ;
1920import org .openrewrite .Recipe ;
2021import org .openrewrite .TreeVisitor ;
2122import org .openrewrite .java .JavaTemplate ;
2223import org .openrewrite .java .JavaVisitor ;
2324import org .openrewrite .java .MethodMatcher ;
25+ import org .openrewrite .java .search .UsesJavaVersion ;
2426import org .openrewrite .java .tree .Expression ;
2527import org .openrewrite .java .tree .J ;
2628
@@ -38,7 +40,7 @@ public String getDescription() {
3840
3941 @ Override
4042 public TreeVisitor <?, ExecutionContext > getVisitor () {
41- return new JavaVisitor <ExecutionContext >() {
43+ return Preconditions . check ( new UsesJavaVersion ( 25 ), new JavaVisitor <ExecutionContext >() {
4244 private final MethodMatcher waitForMatcher = new MethodMatcher ("java.lang.Process waitFor(long, java.util.concurrent.TimeUnit)" );
4345
4446 @ Override
@@ -70,7 +72,6 @@ public J visitMethodInvocation(J.MethodInvocation method, ExecutionContext ctx)
7072 mi = template .apply (getCursor (), mi .getCoordinates ().replaceArguments (), valueArg , unitArg );
7173 }
7274
73- // Handle all imports at the end
7475 maybeAddImport ("java.time.Duration" );
7576 maybeAddImport ("java.time.temporal.ChronoUnit" );
7677 maybeRemoveImport ("java.util.concurrent.TimeUnit" );
@@ -108,6 +109,6 @@ private String getDurationMethod(String timeUnitName) {
108109 return null ;
109110 }
110111 }
111- };
112+ }) ;
112113 }
113114}
0 commit comments