src/main/java/com/workplacesystems/utilsj/collections/TransactionalBidiTreeMap.java
private int compare(final int o1_status, final Object o1, final int o2_status, final Object o2, final int index) {
        if (comparators[index]==null) {
            if (o1 instanceof TransactionalComparable)
                return ((TransactionalComparable)o1).compareTo(o1_status, o2, o2_status);
            else
                return ((Comparable)o1).compareTo(o2);
        } else {
            return comparators[index].compare(o1, o2);
        }
    }
private int compare(final int o1_status, final Object o1, final int o2_status, final Object o2, final int index) {
        if (comparators[index]==null) {
            if (o1 instanceof TransactionalComparable)
                return ((TransactionalComparable)o1).compareTo(o1_status, o2, o2_status);
            else
                return ((Comparable)o1).compareTo(o2);
        } else {
            return comparators[index].compare(o1, o2);
        }
    }
Compare two objects

@param o1 the first object
@param o2 the second object

@return negative value if o1 < o2; 0 if o1 == o2; positive
value if o1 > o2