/** * Compare two JTypes by FQCN, giving sorting precedence to types that belong to packages java and * javax over all others. This method is used to sort generated import statments in a conventional * way for readability. */ public int compare(@Nonnull final AbstractJClass left, @Nonnull final AbstractJClass right) { if (left.isError() && right.isError()) return 0; if (left.isError()) return -1; if (right.isError()) return +1; final String lhs = left.fullName(); final String rhs = right.fullName(); final boolean bLeftJava = lhs.startsWith("java"); final boolean bRightJava = rhs.startsWith("java"); if (bLeftJava && !bRightJava) return -1; if (!bLeftJava && bRightJava) return +1; return lhs.compareTo(rhs); }