public int compareTo(DateTime aThat) {
if (this == aThat) return EQUAL;
ensureParsed();
aThat.ensureParsed();
NullsGo nullsGo = NullsGo.FIRST;
int comparison = ModelUtil.comparePossiblyNull(this.fYear, aThat.fYear, nullsGo);
if (comparison != EQUAL) return comparison;
comparison = ModelUtil.comparePossiblyNull(this.fMonth, aThat.fMonth, nullsGo);
if (comparison != EQUAL) return comparison;