| TokenMetadata |   | 37% |   | 27% | 143 | 195 | 266 | 481 | 38 | 79 | 0 | 1 |
| ReplicaPlans |   | 35% |   | 21% | 58 | 77 | 113 | 172 | 14 | 29 | 0 | 1 |
| NetworkTopologyStrategy |  | 0% |  | 0% | 50 | 50 | 104 | 104 | 17 | 17 | 1 | 1 |
| DynamicEndpointSnitch |   | 53% |   | 47% | 46 | 79 | 72 | 162 | 17 | 35 | 0 | 1 |
| AbstractReplicationStrategy |   | 54% |   | 42% | 36 | 60 | 52 | 130 | 10 | 27 | 0 | 1 |
| RangesAtEndpoint |   | 23% |   | 12% | 37 | 48 | 50 | 73 | 17 | 28 | 0 | 1 |
| Replica |   | 25% |   | 11% | 24 | 34 | 30 | 47 | 11 | 21 | 0 | 1 |
| PendingRangeMaps |   | 51% |   | 30% | 17 | 25 | 34 | 69 | 4 | 12 | 0 | 1 |
| AbstractReplicaCollection.ReplicaList |   | 51% |   | 36% | 21 | 40 | 23 | 49 | 7 | 21 | 0 | 1 |
| InetAddressAndPort |   | 59% |   | 57% | 18 | 44 | 24 | 74 | 8 | 30 | 0 | 1 |
| Replicas |   | 27% |   | 31% | 15 | 20 | 28 | 41 | 6 | 9 | 0 | 1 |
| TokenMetadata.Topology.Builder |   | 56% |   | 29% | 15 | 22 | 27 | 56 | 5 | 10 | 0 | 1 |
| AbstractReplicaCollection |   | 57% |   | 55% | 18 | 41 | 23 | 64 | 6 | 23 | 0 | 1 |
| ReplicationFactor |   | 54% |   | 42% | 22 | 34 | 11 | 39 | 7 | 14 | 0 | 1 |
| InetAddressAndPort.Serializer |   | 41% |   | 23% | 11 | 17 | 15 | 33 | 2 | 8 | 0 | 1 |
| InetAddressAndPort.FwdFrmSerializer |  | 5% |  | 0% | 9 | 10 | 19 | 20 | 3 | 4 | 0 | 1 |
| Endpoints |   | 54% |   | 36% | 17 | 30 | 14 | 40 | 8 | 19 | 0 | 1 |
| ReplicaMultimap |  | 0% |  | 0% | 17 | 17 | 22 | 22 | 14 | 14 | 1 | 1 |
| ReplicaLayout |   | 55% |   | 14% | 11 | 20 | 19 | 43 | 4 | 13 | 0 | 1 |
| EndpointsForRange |   | 49% |   | 42% | 12 | 21 | 11 | 28 | 6 | 14 | 0 | 1 |
| EndpointsForToken.Builder |   | 30% |  | 0% | 8 | 12 | 14 | 19 | 2 | 6 | 0 | 1 |
| ReplicaPlans.new ReplicaPlans.Selector() {...} |  | 13% |  | 16% | 3 | 5 | 13 | 16 | 0 | 2 | 0 | 1 |
| AbstractReplicaCollection.ReplicaMap |   | 64% |   | 65% | 10 | 21 | 15 | 39 | 5 | 11 | 0 | 1 |
| EndpointsForToken |   | 55% |   | 50% | 13 | 24 | 11 | 29 | 9 | 19 | 0 | 1 |
| RangesAtEndpoint.Builder |   | 51% |   | 27% | 8 | 13 | 9 | 20 | 2 | 7 | 0 | 1 |
| EndpointsForRange.Builder |   | 54% |   | 27% | 7 | 12 | 8 | 19 | 1 | 6 | 0 | 1 |
| ReplicaPlan.ForWrite |   | 59% | | 50% | 5 | 14 | 4 | 16 | 4 | 13 | 0 | 1 |
| ReplicaLayout.ForTokenWrite |   | 39% |  | 25% | 3 | 6 | 6 | 12 | 1 | 4 | 0 | 1 |
| SimpleSeedProvider |   | 71% |   | 58% | 5 | 9 | 12 | 34 | 0 | 3 | 0 | 1 |
| SimpleStrategy |   | 82% |   | 65% | 7 | 19 | 5 | 41 | 0 | 9 | 0 | 1 |
| TokenMetadataEvent |  | 0% | | n/a | 3 | 3 | 10 | 10 | 3 | 3 | 1 | 1 |
| ReplicaPlan.AbstractForRead |   | 44% |  | 0% | 5 | 9 | 2 | 8 | 3 | 7 | 0 | 1 |
| AbstractReplicaCollection.ReplicaList.new Iterator() {...} |   | 71% |   | 50% | 5 | 9 | 4 | 15 | 1 | 4 | 0 | 1 |
| ReplicaLayout.ForRangeRead |  | 24% |  | 0% | 3 | 4 | 4 | 7 | 2 | 3 | 0 | 1 |
| ReplicaLayout.ForTokenRead |  | 16% |  | 0% | 3 | 4 | 4 | 6 | 2 | 3 | 0 | 1 |
| ReplicaCollection.Builder |  | 17% |  | 0% | 3 | 4 | 4 | 5 | 2 | 3 | 0 | 1 |
| ReplicaPlan.ForRead |  | 0% |  | 0% | 4 | 4 | 1 | 1 | 2 | 2 | 1 | 1 |
| AbstractEndpointSnitch |  | 62% |   | 25% | 5 | 11 | 1 | 9 | 1 | 7 | 0 | 1 |
| EndpointSnitchInfo | | 33% | | n/a | 5 | 7 | 5 | 8 | 5 | 7 | 0 | 1 |
| AbstractReplicaCollection.AsList | | 32% | | n/a | 3 | 4 | 4 | 8 | 3 | 4 | 0 | 1 |
| ReplicaPlan.ForRangeRead | | 52% | | n/a | 1 | 4 | 1 | 7 | 1 | 4 | 0 | 1 |
| EndpointsByRange | | 0% | | n/a | 2 | 2 | 4 | 4 | 2 | 2 | 1 | 1 |
| SystemReplicas |  | 65% |  | 0% | 3 | 6 | 4 | 9 | 2 | 5 | 0 | 1 |
| ReplicaPlan.ForTokenRead | | 36% | | n/a | 1 | 2 | 1 | 3 | 1 | 2 | 0 | 1 |
| Replicas.ReplicaCount |  | 70% |   | 50% | 5 | 9 | 3 | 9 | 2 | 6 | 0 | 1 |
| ReplicaPlan.SharedForTokenRead | | 40% | | n/a | 1 | 3 | 1 | 3 | 1 | 3 | 0 | 1 |
| ReplicaPlan.SharedForRangeRead | | 40% | | n/a | 1 | 3 | 1 | 3 | 1 | 3 | 0 | 1 |
| TokenMetadata.Topology |  | 83% |  | 100% | 3 | 9 | 3 | 15 | 3 | 8 | 0 | 1 |
| InOurDc |  | 85% |   | 64% | 7 | 13 | 2 | 17 | 2 | 6 | 0 | 1 |
| ReplicaLayout.ForWrite |  | 75% |   | 50% | 4 | 8 | 1 | 11 | 1 | 5 | 0 | 1 |
| AbstractReplicaCollection.ReplicaMap.KeySet | | 68% | | n/a | 1 | 4 | 2 | 5 | 1 | 4 | 0 | 1 |
| TokenMetadataDiagnostics | | 60% | | 50% | 1 | 4 | 1 | 5 | 0 | 3 | 0 | 1 |
| AbstractReplicaCollection.ReplicaMap.AbstractImmutableSet | | 57% | | n/a | 2 | 4 | 2 | 4 | 2 | 4 | 0 | 1 |
| ReplicaPlan.AbstractReplicaPlan |  | 80% | | 50% | 2 | 7 | 1 | 12 | 1 | 6 | 0 | 1 |
| AbstractReplicationStrategy.ReplicaCache |  | 93% |   | 60% | 4 | 9 | 3 | 21 | 0 | 4 | 0 | 1 |
| IEndpointSnitch | | 75% | | n/a | 1 | 5 | 1 | 5 | 1 | 5 | 0 | 1 |
| AbstractReplicaCollection.ReplicaList.new Iterator() {...} |  | 91% |  | 75% | 1 | 5 | 0 | 6 | 0 | 3 | 0 | 1 |
| DynamicEndpointSnitch.new Runnable() {...} | | 60% | | n/a | 1 | 2 | 2 | 3 | 1 | 2 | 0 | 1 |
| SimpleSnitch | | 81% | | n/a | 1 | 5 | 1 | 5 | 1 | 5 | 0 | 1 |
| LocalStrategy |  | 97% | | n/a | 1 | 8 | 1 | 13 | 1 | 8 | 0 | 1 |
| TokenMetadata.new AbstractIterator() {...} |  | 100% |  | 100% | 0 | 7 | 0 | 12 | 0 | 2 | 0 | 1 |
| AbstractReplicaCollection.ReplicaList.new Iterator() {...} |  | 100% |  | 100% | 0 | 4 | 0 | 5 | 0 | 3 | 0 | 1 |
| ReplicaCollection.Builder.Conflict |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 | 0 | 1 |
| TokenMetadataEvent.TokenMetadataEventType |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 | 0 | 1 |
| InOurDc.ReplicaTester | | 100% | | n/a | 0 | 2 | 0 | 3 | 0 | 2 | 0 | 1 |
| InOurDc.EndpointTester | | 100% | | n/a | 0 | 2 | 0 | 3 | 0 | 2 | 0 | 1 |
| AbstractReplicationStrategy.ReplicaHolder | | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 | 0 | 1 |
| DynamicEndpointSnitch.new Runnable() {...} | | 100% | | n/a | 0 | 2 | 0 | 3 | 0 | 2 | 0 | 1 |
| ReplicaPlan | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| ReplicaPlans.new ReplicaPlans.Selector() {...} | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |