public static Moment of(
        long elapsedTime,
        int nanosecond,
        TimeScale scale
    ) {

        if (
            (elapsedTime == 0)
            && (nanosecond == 0)
            && (scale == POSIX)
        ) {
            return Moment.UNIX_EPOCH;
        }

        return new Moment(elapsedTime, nanosecond, scale);

    }
public static Moment of ( long elapsedTime , int nanosecond , TimeScale scale ) { if ( ( elapsedTime == 0 ) && ( nanosecond == 0 ) && ( scale == POSIX ) ) { return Moment . UNIX_EPOCH ; } return new Moment ( elapsedTime , nanosecond , scale ) ; }
/*[deutsch]
<p>Konstruiert einen neuen UTC-Zeitstempel mit Hilfe von
Zeitkoordinaten auf der angegebenen Zeitskala. </p>

<p>Die angegebene verstrichene Zeit {@code elapsedTime} wird intern
in die UTC-Epochenzeit umgerechnet, sollte eine andere Zeitskala als
UTC angegeben sein. Die Zeitskala TAI wird erst ab der TAI-Epoche
1958-01-01 unterst&uuml;tzt, die Zeitskala GPS erst ab 1980-01-06. </p>

@param   elapsedTime     elapsed seconds on given time scale
@param   nanosecond      nanosecond fraction of last second
@param   scale           time scale reference
@return  new moment instance
@throws  IllegalArgumentException if the nanosecond is not in the range
{@code 0 <= nanosecond <= 999,999,999} or if elapsed time is
out of supported range limits beyond year +/-999,999,999 or
out of time scale range
@throws  IllegalStateException if time scale is not POSIX but
leap second support is switched off by configuration
@see     LeapSeconds#isEnabled()