グアバの比較チェーンは、比較を遅延して評価することになっていませんか? 以下のコードでは、NullComparator (apache) はゼロ以外の値を返しますが、チェーンは終了しませんか?
docsから: ComparisonChain 実装は、入力の compareTo および compare メソッドの呼び出しを停止し、そのうちの 1 つがゼロ以外の結果を返すとすぐに停止します。
String x = null;
String y = "y";
ComparisonChain.start().compare(x,y, new NullComparator(false)).
compare(x.getBytes().toString(), y.getBytes().toString()).result();
注: 上記は単なる例です。多分これはより良い例でしょう
ComparisonChain.start().compare(x,y, new NullComparator(false)).
compare(x.getBytes(), y.getBytes(), UnsignedBytes.lexicographicalComparator()).result();