code: public int getShift(GregorianDate date) {
  
          int year = date.getYear();
  
          // Schaltsekundenereignisse gibt es erst seit Juni 1972
          if (year >= 1972) {
  
              ExtendedLSE[] events = this.getEventsInDescendingOrder();
  
              for (int i = 0; i < events.length; i++) {
                  ExtendedLSE event = events[i];
                  GregorianDate lsDate = event.getDate();
  
                  // Ist es der Umstellungstag?
                  if (
                      (year == lsDate.getYear())
                      && (date.getMonth() == lsDate.getMonth())
                      && (date.getDayOfMonth() == lsDate.getDayOfMonth())
                  ) {
                      return event.getShift();
                  }
              }
          }
  
          return 0;
  
      }
docs: /*[deutsch]
  <p>Ermittelt die Verschiebung in Sekunden passend zur letzten Minute
  des angegebenen Datums. </p>
  
  <p>Das Ergebnis der Methode kann zum Sekundenwert {@code 59} addiert
  werden, um das Maximum des Elements SECOND_OF_MINUTE im angegebenen
  Zeitkontext zu erhalten. Das Verhalten der Methode ist undefiniert,
  wenn die angegebenen Bereichsgrenzen der Argumentwerte nicht beachtet
  werden. </p>
  
  @param   date    day of possible leap second event in the last minute
  @return  shift of second element (most of the times just {@code 0})