| endVisitLoop(EnhancedForStatement, ReferenceHolder, CompilationUnit) |  | 0% |  | 0% | 13 | 13 | 29 | 29 | 1 | 1 |
| find(UseFunctionalCallFixCore, CompilationUnit, Set, Set) |  | 0% |  | 0% | 5 | 5 | 20 | 20 | 1 | 1 |
| tryMergeWithPrecedingDeclaration(AST, ASTRewrite, CompilationUnitRewrite, TextEditGroup, EnhancedForStatement, Expression, String) |   | 59% |   | 66% | 6 | 10 | 12 | 32 | 0 | 1 |
| visitLoop(EnhancedForStatement, ReferenceHolder, Set, ReferenceHolder) |  | 0% |  | 0% | 3 | 3 | 12 | 12 | 1 | 1 |
| rewrite(UseFunctionalCallFixCore, EnhancedForStatement, CompilationUnitRewrite, TextEditGroup, ReferenceHolder) |   | 90% |   | 61% | 13 | 18 | 8 | 60 | 0 | 1 |
| referencesVariable(ASTNode, String, IVariableBinding) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| isVariableReferencedAfter(Block, int, VariableDeclarationFragment) |   | 50% |   | 25% | 2 | 3 | 2 | 5 | 0 | 1 |
| addRequiredImports(CompilationUnitRewrite, LoopModel) |   | 62% |   | 60% | 2 | 4 | 3 | 8 | 0 | 1 |
| detectAndProcessConsecutiveLoops(UseFunctionalCallFixCore, CompilationUnit, Set, Set) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| lambda$0(ReferenceHolder, Set, EnhancedForStatement, ReferenceHolder) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| isConvertible(LoopModel) |   | 71% |   | 50% | 4 | 5 | 0 | 4 | 0 | 1 |
| getPreview(boolean) |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| lambda$1(ReferenceHolder, CompilationUnit, EnhancedForStatement, ReferenceHolder) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| createReplacement(AST, Expression, LoopModel, EnhancedForStatement) |   | 95% |   | 71% | 4 | 8 | 1 | 20 | 0 | 1 |
| canUseDirectForEach(LoopModel) |  | 93% |   | 75% | 3 | 7 | 1 | 9 | 0 | 1 |
| createMatchIfStatement(AST, Expression, MatchTerminal) |  | 100% |  | 100% | 0 | 2 | 0 | 20 | 0 | 1 |
| shouldUseOriginalForEach(LoopModel) |  | 100% |   | 83% | 1 | 4 | 0 | 8 | 0 | 1 |
| referencesVariable(List, String) |  | 100% |   | 83% | 1 | 4 | 0 | 5 | 0 | 1 |
| EnhancedForHandler() |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |