code: @Override
      public int compareTo(JapaneseCalendar other) {
  
          int result = super.compareTo(other);
  
          if (result == 0) {
              result = this.nengo.getValue() - other.nengo.getValue();
              if (result == 0) {
                  boolean n1 = this.nengo.matches(NORTHERN_COURT);
                  boolean n2 = other.nengo.matches(NORTHERN_COURT);
                  result = ((!n1 && n2) ? -1 : ((n1 && !n2) ? 1 : 0));
              }
          }
  
          return result;
  
      }
docs: /*[deutsch]
  <p>Vergleicht zuerst nach der zeitlichen Position, dann nach der Nengo-Position. </p>
  
  <p>Die nat&uuml;rliche Ordnung ist konsistent mit {@link #equals(Object)}, weil der
  nicht-zeitliche Zustand auch ber&uuml;cksichtigt wird. Wenn eine rein zeitliche
  Sortierung gew&uuml;nscht ist, dann sollten Anwender die Methoden {@code isBefore()},
  {@code isAfter()} oder {@code isSimultaneous()} in Betracht ziehen. </p>
  
  @param   other   the other Japanese calendar to be compared with
  @return  a negative integer, zero, or a positive integer as this object
  is less than, equal to, or greater than the specified object
  @see     #isBefore(CalendarDate)
  @see     #isAfter(CalendarDate)
  @see     #isSimultaneous(CalendarDate)