Description
When comparing two objects using GenericData.compare (directly or indirectly), null values in fields of record type objects are not sufficiently protected against, resulting in NPE
e.g.
case ENUM: return s.getEnumOrdinal(o1.toString()) - s.getEnumOrdinal(o2.toString());
This is prevalent throughout the compare method. This impacts compareTo, and equals implementations as well.