code: private static int nullSafeIntegerComparison(Integer o1, Integer o2) {
          return o1 != null ? o2 != null ? o1.compareTo(o2) : -1 : o2 != null ? 1 : 0;
      }
docs: Compares {@code Integer} types, taking into account possible {@code null}
  values.  When {@code null}, then the return value will be such that the
  other value will come first in a comparison.  If both values are {@code null},
  then they are effectively equal.
  
  @param o1 The first value to compare.
  @param o2 The second value to compare.
  @return -1, 0, or 1 if the first value should come before, equal to, or
  after the second.