code: @Override
      public int compareTo(D calendarVariant) {
  
          long t1 = this.getDaysSinceEpochUTC();
          long t2 = calendarVariant.getDaysSinceEpochUTC();
  
          if (t1 < t2) {
              return - 1;
          } else if (t1 > t2) {
              return 1;
          } else {
              return this.getVariant().compareTo(calendarVariant.getVariant());
          }
  
      }
docs: /*[deutsch]
  <p>Vergleicht zwei Kalendervarianten bevorzugt nach ihrer Position auf der
  gemeinsamen Zeitachse und dann lexikalisch nach ihren Variantennamen. </p>
  
  <p>Implementierungshinweis: Damit die nat&uuml;rliche Ordnung konsistent
  mit {@code equals()} ist, m&uuml;ssen zum Vergleich alle internen
  Zustandsattribute herangezogen werden, bevorzugt aber die Attribute,
  die die zeitliche Position festlegen. </p>
  
  @param   calendarVariant     the object to be compared.
  @return  a negative integer, zero, or a positive integer as this object
  is less than, equal to, or greater than the specified object.
  @see     #equals(Object)