| mergeBlock(String, BlockAst, BlockAst, BlockAst, List) |   | 84% |   | 71% | 7 | 17 | 6 | 47 | 0 | 1 |
| index(Collection, String, List) |   | 50% |   | 37% | 3 | 5 | 3 | 10 | 0 | 1 |
| parse(String, String) |   | 47% |   | 50% | 2 | 3 | 2 | 4 | 0 | 1 |
| firstPropertyLocation(PropertyAst[]) |   | 84% |   | 50% | 3 | 4 | 1 | 4 | 0 | 1 |
| firstBlockLocation(BlockAst[]) |   | 84% |   | 50% | 3 | 4 | 1 | 4 | 0 | 1 |
| renderBlock(BlockAst) |   | 94% |   | 75% | 1 | 3 | 0 | 6 | 0 | 1 |
| copy(BlockAst) |   | 93% |   | 50% | 1 | 2 | 0 | 10 | 0 | 1 |
| propertyValue(PropertyAst) |   | 71% |   | 50% | 1 | 2 | 0 | 1 | 0 | 1 |
| merge(String, String, String) |  | 100% |  | 100% | 0 | 4 | 0 | 25 | 0 | 1 |
| mergeMeta(MetaAst, MetaAst, MetaAst, List) |  | 100% |  | 100% | 0 | 4 | 0 | 13 | 0 | 1 |
| equivalent(BlockAst, BlockAst) |  | 100% |   | 83% | 2 | 7 | 0 | 5 | 0 | 1 |
| mergeScalar(String, String, String, String, String, List) |  | 100% |  | 100% | 0 | 4 | 0 | 5 | 0 | 1 |
| hasDuplicatePropertyKeys(BlockAst) |  | 100% |  | 100% | 0 | 3 | 0 | 5 | 0 | 1 |
| propertyMap(BlockAst) |  | 100% |  | 100% | 0 | 2 | 0 | 5 | 0 | 1 |
| blockConflict(String, String, BlockAst, BlockAst, BlockAst) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| TaxDslSemanticMerger(TaxDslParser, TaxDslSerializer) |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 |
| lambda$copy$1(PropertyAst) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| TaxDslSemanticMerger() |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| value(Object, Function) |  | 100% |  | 100% | 0 | 2 | 0 | 1 | 0 | 1 |
| identity(BlockAst) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| normalizedProperties(BlockAst) |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 |
| static {...} |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$normalizedProperties$0(PropertyAst) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |