| Difference |  | 0% |  | 0% | 286 | 286 | 503 | 503 | 46 | 46 | 1 | 1 |
| LexicalPreservingPrinter.Observer |  | 0% |  | 0% | 126 | 126 | 282 | 282 | 32 | 32 | 1 | 1 |
| LexicalDifferenceCalculator |  | 0% |  | 0% | 79 | 79 | 198 | 198 | 20 | 20 | 1 | 1 |
| DifferenceElementCalculator |  | 0% |  | 0% | 85 | 85 | 182 | 182 | 20 | 20 | 1 | 1 |
| LexicalPreservingPrinter |  | 0% |  | 0% | 79 | 79 | 187 | 187 | 26 | 26 | 1 | 1 |
| ReshuffledDiffElementExtractor |  | 0% |  | 0% | 47 | 47 | 131 | 131 | 6 | 6 | 1 | 1 |
| TypeOwnerStrategy |  | 0% |  | 0% | 62 | 62 | 101 | 101 | 18 | 18 | 1 | 1 |
| TextElementList |  | 0% |  | 0% | 53 | 53 | 80 | 80 | 28 | 28 | 1 | 1 |
| RemovedGroup |  | 0% |  | 0% | 41 | 41 | 79 | 79 | 20 | 20 | 1 | 1 |
| NodeText |  | 0% |  | 0% | 30 | 30 | 55 | 55 | 25 | 25 | 1 | 1 |
| IndentationCalculator |  | 0% |  | 0% | 34 | 34 | 59 | 59 | 8 | 8 | 1 | 1 |
| PeekingIterator |  | 0% |  | 0% | 31 | 31 | 53 | 53 | 16 | 16 | 1 | 1 |
| Removed |  | 0% |  | 0% | 24 | 24 | 39 | 39 | 15 | 15 | 1 | 1 |
| Reshuffled |  | 0% |  | 0% | 22 | 22 | 27 | 27 | 15 | 15 | 1 | 1 |
| Kept |  | 0% |  | 0% | 24 | 24 | 36 | 36 | 16 | 16 | 1 | 1 |
| TokenTextElement |  | 0% |  | 0% | 28 | 28 | 32 | 32 | 24 | 24 | 1 | 1 |
| Added |  | 0% |  | 0% | 22 | 22 | 24 | 24 | 14 | 14 | 1 | 1 |
| IndentationContext |  | 0% |  | 0% | 17 | 17 | 25 | 25 | 11 | 11 | 1 | 1 |
| ChildTextElement |  | 0% |  | 0% | 26 | 26 | 28 | 28 | 22 | 22 | 1 | 1 |
| PhantomNodeLogic |  | 0% |  | 0% | 15 | 15 | 24 | 24 | 5 | 5 | 1 | 1 |
| TokenOwnerDetector |  | 0% |  | 0% | 15 | 15 | 24 | 24 | 4 | 4 | 1 | 1 |
| TextElementIteratorsFactory.CascadingIterator |  | 0% |  | 0% | 10 | 10 | 27 | 27 | 4 | 4 | 1 | 1 |
| IndexTrackingIterator |  | 0% | | n/a | 12 | 12 | 25 | 25 | 12 | 12 | 1 | 1 |
| IndentationCalculator.EnforcingContext |  | 0% |  | 0% | 13 | 13 | 13 | 13 | 7 | 7 | 1 | 1 |
| TextElementIterator |  | 0% | | n/a | 11 | 11 | 23 | 23 | 11 | 11 | 1 | 1 |
| LexicalDifferenceCalculator.CalculatedSyntaxModel |  | 0% |  | 0% | 12 | 12 | 12 | 12 | 8 | 8 | 1 | 1 |
| LexicalDifferenceCalculator.CsmChild |  | 0% |  | 0% | 12 | 12 | 13 | 13 | 7 | 7 | 1 | 1 |
| DifferenceElementCalculator.ChildPositionInfo |  | 0% |  | 0% | 11 | 11 | 14 | 14 | 3 | 3 | 1 | 1 |
| TextElementIteratorsFactory |  | 0% |  | 0% | 7 | 7 | 14 | 14 | 4 | 4 | 1 | 1 |
| TextElement |  | 0% |  | 0% | 13 | 13 | 9 | 9 | 8 | 8 | 1 | 1 |
| TextElementIteratorsFactory.ComposedIterator |  | 0% |  | 0% | 7 | 7 | 15 | 15 | 4 | 4 | 1 | 1 |
| ReshuffledDiffElementExtractor.MatchClassification |  | 0% | | n/a | 3 | 3 | 10 | 10 | 3 | 3 | 1 | 1 |
| TextElementSequence |  | 0% | | n/a | 10 | 10 | 6 | 6 | 10 | 10 | 1 | 1 |
| RemovedGroup.new Iterator() {...} |  | 0% |  | 0% | 5 | 5 | 4 | 4 | 3 | 3 | 1 | 1 |
| LexicalPreservingVisitor |  | 0% | | n/a | 5 | 5 | 10 | 10 | 5 | 5 | 1 | 1 |
| DefaultLexicalPreservingPrinter | | 0% | | n/a | 3 | 3 | 5 | 5 | 3 | 3 | 1 | 1 |
| TextElementMatchers.new TextElementMatcher() {...} | | 0% | | n/a | 3 | 3 | 3 | 3 | 3 | 3 | 1 | 1 |
| DifferenceElement | | 0% | | n/a | 5 | 5 | 5 | 5 | 5 | 5 | 1 | 1 |
| TextElementIteratorsFactory.SingleElementIterator | | 0% | | 0% | 5 | 5 | 7 | 7 | 4 | 4 | 1 | 1 |
| Difference.EnforcingIndentationContext | | 0% | | n/a | 2 | 2 | 6 | 6 | 2 | 2 | 1 | 1 |
| LexicalPreservingPrinter.new TreeVisitor() {...} | | 0% | | 0% | 3 | 3 | 4 | 4 | 2 | 2 | 1 | 1 |
| TextElementIteratorsFactory.new TextElementIteratorsFactory.SingleElementIterator() {...} | | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
| TextElementMatcher | | 0% |  | 0% | 4 | 4 | 1 | 1 | 2 | 2 | 1 | 1 |
| TextElementMatchers | | 0% | | n/a | 4 | 4 | 3 | 3 | 4 | 4 | 1 | 1 |
| TextElementIteratorsFactory.EmptyIterator | | 0% | | n/a | 3 | 3 | 3 | 3 | 3 | 3 | 1 | 1 |
| PhantomNodeLogic.new AstObserverAdapter() {...} | | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
| IndentationConstants | | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 | 1 | 1 |
| LexicalPreservingPrinter.new DataKey() {...} | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |