| resetRoot(ObjectReader, AnyObjectId) |   | 0% |   | 0% | 2 | 2 | 5 | 5 | 1 | 1 | 
| back(int) |    | 87% |    | 78% | 3 | 8 | 2 | 23 | 0 | 1 | 
| createSubtreeIterator(ObjectReader, MutableObjectId) |    | 64% |    | 50% | 1 | 2 | 2 | 5 | 0 | 1 | 
| reset() |   | 0% |   | 0% | 2 | 2 | 3 | 3 | 1 | 1 | 
| next(int) |    | 91% |    | 85% | 2 | 8 | 1 | 19 | 0 | 1 | 
| parseEntry() |   | 100% |   | 100% | 0 | 3 | 0 | 22 | 0 | 1 | 
| next() |   | 100% |   | 100% | 0 | 3 | 0 | 11 | 0 | 1 | 
| loadAttributes(ObjectReader, AnyObjectId) |   | 100% |   | 100% | 0 | 2 | 0 | 4 | 0 | 1 | 
| reset(byte[]) |   | 100% |   | 100% | 0 | 2 | 0 | 8 | 0 | 1 | 
| findAttributes(ObjectReader) |   | 100% |   | 100% | 0 | 2 | 0 | 5 | 0 | 1 | 
| getEntryAttributesNode(ObjectReader) |   | 100% |   | 100% | 0 | 3 | 0 | 3 | 0 | 1 | 
| createSubtreeIterator0(ObjectReader, AnyObjectId) |   | 100% |  | n/a | 0 | 1 | 0 | 3 | 0 | 1 | 
| eof() |   | 100% |   | 100% | 0 | 2 | 0 | 1 | 0 | 1 | 
| CanonicalTreeParser(byte[], ObjectReader, AnyObjectId) |   | 100% |  | n/a | 0 | 1 | 0 | 3 | 0 | 1 | 
| reset(ObjectReader, AnyObjectId) |   | 100% |  | n/a | 0 | 1 | 0 | 2 | 0 | 1 | 
| static {...} |   | 100% |  | n/a | 0 | 1 | 0 | 2 | 0 | 1 | 
| createSubtreeIterator(ObjectReader) |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| first() |   | 100% |   | 100% | 0 | 2 | 0 | 1 | 0 | 1 | 
| CanonicalTreeParser() |   | 100% |  | n/a | 0 | 1 | 0 | 3 | 0 | 1 | 
| idOffset() |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| noAttributes() |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| CanonicalTreeParser(CanonicalTreeParser) |   | 100% |  | n/a | 0 | 1 | 0 | 2 | 0 | 1 | 
| getParent() |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| idBuffer() |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| hasId() |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 |