If {@code k0} is {@code null} and {@code k1} is not, returns a positive value.
+ * + *If {@code k1} is {@code null} and {@code k0} is not, returns a negative value.
+ * + *If {@code k0} is {@link TypeKind#ARRAY}, and {@code k1} {@linkplain TypeKind#isPrimitive() is primitive}, + * returns a positive value.
+ * + *If {@code k0} is {@link TypeKind#ARRAY}, and {@code k1} is {@link TypeKind#DECLARED}, returns a negative + * value.
+ * + *If {@code k0} {@linkplain TypeKind#isPrimitive() is primitive}, and {@code k1} is {@link TypeKind#ARRAY} or + * {@link TypeKind#DECLARED}, returns a negative value.
+ * + *If {@code k0} {@linkplain TypeKind#isPrimitive() is primitive}, and {@code k1} is {@link TypeKind#TYPEVAR}, + * returns a positive value.
+ * + *If {@code k0} is {@link TypeKind#DECLARED}, and {@code k1} is {@link TypeKind#ARRAY}, or {@linkplain + * TypeKind#isPrimitive() is primitive}, or is {@link TypeKind#TYPEVAR}, returns a positive value.
+ * + *If {@code k0} is {@link TypeKind#TYPEVAR}, and {@code k1} is {@link TypeKind#ARRAY}, or {@linkplain + * TypeKind#isPrimitive() is primitive}, or is {@link TypeKind#DECLARED}, returns a negative value.
+ * + *Returns {@code 0} in all other cases.
+ *
+ * @param k0 a {@link TypeKind}; may be {@code null}
+ *
+ * @param k1 a {@link TypeKind}; may be {@code null}
+ *
+ * @return a comparison result
+ *
+ * @see TypeKind#isPrimitive()
+ *
+ * @see TypeKind#ARRAY
+ *
+ * @see TypeKind#DECLARED
+ *
+ * @see TypeKind#TYPEVAR
+ */
+ @Override // Comparator If {@code k0 == k1}, returns {@code 0}. If {@code k0} is {@code null} and {@code k1} is not, returns a positive value. If {@code k1} is {@code null} and {@code k0} is not, returns a negative value. If {@code k0} {@linkplain TypeKind#isPrimitive() is primitive} and {@code k1} is {@link TypeKind#DECLARED},
- * returns a negative value. If {@code k0} is {@link TypeKind#DECLARED} and {@code k1} {@linkplain TypeKind#isPrimitive() is primitive},
- * returns a positive value. Returns {@code 0} in all other cases.
- *
- * @param k0 a {@link TypeKind}; may be {@code null}
- *
- * @param k1 a {@link TypeKind}; may be {@code null}
- *
- * @return a comparison result
- *
- * @see TypeKind#isPrimitive()
- *
- * @see TypeKind#DECLARED
- */
- @Override // Comparator If {@code k0 == k1}, returns {@code 0}. If {@code k0} is {@code null} and {@code k1} is not, returns a positive value. If {@code k0} is {@link TypeKind#TYPEVAR} or {@code k1} is {@code null} and {@code k0} is not, returns a
- * negative value. Returns {@code 0} in all other cases.
- *
- * @param k0 a {@link TypeKind}; may be {@code null}
- *
- * @param k1 a {@link TypeKind}; may be {@code null}
- *
- * @return a comparison result
- *
- * @see TypeKind#TYPEVAR
- */
- @Override // Comparator