public int getShift(long utc) {

        if (utc <= 0) {
            return 0;
        }

        ExtendedLSE[] events = this.getEventsInDescendingOrder();

        for (int i = 0; i < events.length; i++) {
            ExtendedLSE lse = events[i];

            if (utc > lse.utc()) {
                return 0;
            } else {
                long start = lse.utc() - lse.getShift();
                if (utc > start) { // Schaltbereich
                    return (int) (utc - start);
                }
            }
        }

        return 0;

    }
public int getShift ( long utc ) { if ( utc <= 0 ) { return 0 ; } ExtendedLSE [ ] events = this . getEventsInDescendingOrder ( ) ; for ( int i = 0 ; i < events . length ; i ++ ) { ExtendedLSE lse = events [ i ] ; if ( utc > lse . utc ( ) ) { return 0 ; } else { long start = lse . utc ( ) - lse . getShift ( ) ; if ( utc > start ) { return ( int ) ( utc - start ) ; } } } return 0 ; }
/*[deutsch]
<p>Ermittelt die Verschiebung in Sekunden, wenn dieser Zeitpunkt
&uuml;berhaupt eine Schaltsekunde repr&auml;sentiert. </p>

@param   utc     elapsed SI-seconds relative to UTC epoch
[1972-01-01T00:00:00Z] including leap seconds
@return  {@code 1, 0, -1} if the argument denotes a positive leap second,
no leap second or a negative leap second