| doRedBlackDeleteFixup(TreeBidiMap.Node, TreeBidiMap.DataElement) |  | 0% |  | 0% | 12 | 12 | 48 | 48 | 1 | 1 |
| swapPosition(TreeBidiMap.Node, TreeBidiMap.Node, TreeBidiMap.DataElement) |  | 0% |  | 0% | 19 | 19 | 58 | 58 | 1 | 1 |
| doRedBlackInsert(TreeBidiMap.Node, TreeBidiMap.DataElement) |  | 0% |  | 0% | 11 | 11 | 37 | 37 | 1 | 1 |
| doRedBlackDelete(TreeBidiMap.Node) |  | 0% |  | 0% | 13 | 13 | 30 | 30 | 1 | 1 |
| doPut(Comparable, Comparable) |  | 0% |  | 0% | 6 | 6 | 35 | 35 | 1 | 1 |
| insertValue(TreeBidiMap.Node) |  | 0% |  | 0% | 5 | 5 | 21 | 21 | 1 | 1 |
| doToString(TreeBidiMap.DataElement) |  | 0% |  | 0% | 6 | 6 | 17 | 17 | 1 | 1 |
| rotateLeft(TreeBidiMap.Node, TreeBidiMap.DataElement) |  | 0% |  | 0% | 4 | 4 | 14 | 14 | 1 | 1 |
| rotateRight(TreeBidiMap.Node, TreeBidiMap.DataElement) |  | 0% |  | 0% | 4 | 4 | 14 | 14 | 1 | 1 |
| doEquals(Object, TreeBidiMap.DataElement) |  | 0% |  | 0% | 7 | 7 | 16 | 16 | 1 | 1 |
| nextGreater(TreeBidiMap.Node, TreeBidiMap.DataElement) |  | 0% |  | 0% | 5 | 5 | 12 | 12 | 1 | 1 |
| nextSmaller(TreeBidiMap.Node, TreeBidiMap.DataElement) |  | 0% |  | 0% | 5 | 5 | 12 | 12 | 1 | 1 |
| lookup(Object, TreeBidiMap.DataElement) |  | 0% |  | 0% | 4 | 4 | 9 | 9 | 1 | 1 |
| readObject(ObjectInputStream) |  | 0% |  | 0% | 2 | 2 | 8 | 8 | 1 | 1 |
| doHashCode(TreeBidiMap.DataElement) |  | 0% |  | 0% | 3 | 3 | 7 | 7 | 1 | 1 |
| writeObject(ObjectOutputStream) |  | 0% |  | 0% | 2 | 2 | 6 | 6 | 1 | 1 |
| putAll(Map) |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| checkNonNullComparable(Object, TreeBidiMap.DataElement) |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| getMapIterator(TreeBidiMap.DataElement) |  | 0% |  | 0% | 3 | 3 | 4 | 4 | 1 | 1 |
| clear() |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
| firstKey() |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| lastKey() |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| nextKey(Comparable) |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| previousKey(Comparable) |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| greatestNode(TreeBidiMap.Node, TreeBidiMap.DataElement) |  | 0% |  | 0% | 3 | 3 | 5 | 5 | 1 | 1 |
| leastNode(TreeBidiMap.Node, TreeBidiMap.DataElement) |  | 0% |  | 0% | 3 | 3 | 5 | 5 | 1 | 1 |
| doRemoveKey(Object) |  | 0% |  | 0% | 2 | 2 | 5 | 5 | 1 | 1 |
| doRemoveValue(Object) |  | 0% |  | 0% | 2 | 2 | 5 | 5 | 1 | 1 |
| copyColor(TreeBidiMap.Node, TreeBidiMap.Node, TreeBidiMap.DataElement) |  | 0% |  | 0% | 3 | 3 | 6 | 6 | 1 | 1 |
| get(Object) |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| getKey(Object) |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| keySet() |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| values() |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| entrySet() |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| inverseBidiMap() |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| mapIterator() |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| isBlack(TreeBidiMap.Node, TreeBidiMap.DataElement) |  | 0% |  | 0% | 3 | 3 | 1 | 1 | 1 | 1 |
| isRed(TreeBidiMap.Node, TreeBidiMap.DataElement) |  | 0% |  | 0% | 3 | 3 | 1 | 1 | 1 | 1 |
| containsKey(Object) |  | 0% |  | 0% | 2 | 2 | 2 | 2 | 1 | 1 |
| containsValue(Object) |  | 0% |  | 0% | 2 | 2 | 2 | 2 | 1 | 1 |
| put(Comparable, Comparable) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| grow() |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| shrink() |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| getGrandParent(TreeBidiMap.Node, TreeBidiMap.DataElement) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getLeftChild(TreeBidiMap.Node, TreeBidiMap.DataElement) |  | 0% |  | 0% | 2 | 2 | 1 | 1 | 1 | 1 |
| getParent(TreeBidiMap.Node, TreeBidiMap.DataElement) |  | 0% |  | 0% | 2 | 2 | 1 | 1 | 1 | 1 |
| getRightChild(TreeBidiMap.Node, TreeBidiMap.DataElement) |  | 0% |  | 0% | 2 | 2 | 1 | 1 | 1 | 1 |
| TreeBidiMap() |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| isEmpty() |  | 0% |  | 0% | 2 | 2 | 1 | 1 | 1 | 1 |
| modify() |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| makeBlack(TreeBidiMap.Node, TreeBidiMap.DataElement) |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| makeRed(TreeBidiMap.Node, TreeBidiMap.DataElement) |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| TreeBidiMap(Map) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| checkKeyAndValue(Object, Object) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| equals(Object) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lookupKey(Object) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lookupValue(Object) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| checkKey(Object) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| checkValue(Object) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| compare(Comparable, Comparable) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| hashCode() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| remove(Object) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| removeValue(Object) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| toString() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| size() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |