| Difference |  | 0% |  | 0% | 310 | 310 | 534 | 534 | 51 | 51 | 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% | 82 | 82 | 188 | 188 | 26 | 26 | 1 | 1 |
| LexicalPreservingPrinter.Observer |  | 0% |  | 0% | 92 | 92 | 192 | 192 | 30 | 30 | 1 | 1 |
| ReshuffledDiffElementExtractor |  | 0% |  | 0% | 47 | 47 | 131 | 131 | 6 | 6 | 1 | 1 |
| RemovedGroup |  | 0% |  | 0% | 41 | 41 | 79 | 79 | 20 | 20 | 1 | 1 |
| NodeText |  | 0% |  | 0% | 32 | 32 | 57 | 57 | 24 | 24 | 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 |
| ChildTextElement |  | 0% |  | 0% | 26 | 26 | 28 | 28 | 22 | 22 | 1 | 1 |
| PhantomNodeLogic |  | 0% |  | 0% | 15 | 15 | 24 | 24 | 5 | 5 | 1 | 1 |
| TextElementIteratorsFactory.CascadingIterator |  | 0% |  | 0% | 10 | 10 | 27 | 27 | 4 | 4 | 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 |
| Difference.ArrayIterator |  | 0% | | n/a | 12 | 12 | 18 | 18 | 12 | 12 | 1 | 1 |
| ReshuffledDiffElementExtractor.MatchClassification |  | 0% | | n/a | 3 | 3 | 10 | 10 | 3 | 3 | 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 |
| LexicalPreservingPrinter.new DataKey() {...} | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |