src/main/java/com/workplacesystems/utilsj/collections/TransactionalBidiTreeMap.java
private Node<K,V> lookup(final Object data, final int index) {

        Node<K,V> rval = null;
        Node<K,V> node = rootNode[index];

        while (node != null) {
            int cmp = compare(Node.NO_CHANGE, data, node.getStatus(), node.getData(index), index);

            if (cmp == 0) {
                rval = node;

                break;
            } else {
                node = (cmp < 0)
                       ? node.getLeft(index)
                       : node.getRight(index);
            }
        }

        return rval;
    }
private Node<K,V> lookup(final Object data, final int index) {

        Node<K,V> rval = null;
        Node<K,V> node = rootNode[index];

        while (node != null) {
            int cmp = compare(Node.NO_CHANGE, data, node.getStatus(), node.getData(index), index);

            if (cmp == 0) {
                rval = node;

                break;
            } else {
                node = (cmp < 0)
                       ? node.getLeft(index)
                       : node.getRight(index);
            }
        }

        return rval;
    }
do the actual lookup of a piece of data

@param data the key or value to be looked up
@param index KEY or VALUE

@return the desired Node, or null if there is no mapping of the
specified data