src/main/java/com/workplacesystems/utilsj/collections/TransactionalBidiTreeMap.java
private static <K,V> boolean isLeftChild(final Node<K,V> node, final int index) {

        return (node == null)
               ? true
               : ((node.getParent(index) == null)
                  ? false
                  : (node == node.getParent(index).getLeft(index)));
    }
private static <K,V> boolean isLeftChild(final Node<K,V> node, final int index) {

        return (node == null)
               ? true
               : ((node.getParent(index) == null)
                  ? false
                  : (node == node.getParent(index).getLeft(index)));
    }
private static < K , V > boolean isLeftChild ( final Node < K , V > node , final int index ) { return ( node == null ) ? true : ( ( node . getParent ( index ) == null ) ? false : ( node == node . getParent ( index ) . getLeft ( index ) ) ) ; }
is this node its parent's left child? mind you, the node, or
its parent, may not exist. no problem. if the node doesn't
exist ... it's its non-existent parent's left child. If the
node does exist but has no parent ... no, we're not the
non-existent parent's left child. Otherwise (both the specified
node AND its parent exist), check.

@param node the node (may be null) in question
@param index KEY or VALUE
is this node its parent s left child? mind you the node or its parent may not exist . no problem . if the node doesn t exist ... it s its non - existent parent s left child . If the node does exist but has no parent ... no we re not the non - existent parent s left child . Otherwise ( both the specified node AND its parent exist ) check .