src/main/java/com/stoyanr/evictor/scheduler/SingleThreadEvictionScheduler.java
/**
         * Calculates the wait timeout (in nanoseconds) to the specified moment
         * in time (in nanoseconds). If the time is 0 (forever), return also 0
         * (forever). A negative value returned from this method means that no
         * waiting should happen.
         */
Calculates the wait timeout (in nanoseconds) to the specified moment
in time (in nanoseconds). If the time is 0 (forever), return also 0
(forever). A negative value returned from this method means that no
waiting should happen.
Calculates the wait timeout ( in nanoseconds ) to the specified moment in time ( in nanoseconds ) . If the time is 0 ( forever ) return also 0 ( forever ) . A negative value returned from this method means that no waiting should happen .
private long calcTimeout(long time) {
            if (time > 0) {
                long x = time - System.nanoTime();
                return (x != 0) ? x : -1;
            }
            return 0;
        }
private long calcTimeout ( long time ) { if ( time > 0 ) { long x = time - System . nanoTime ( ) ; return ( x != 0 ) ? x : - 1 ; } return 0 ; }
Calculates the wait timeout (in nanoseconds) to the specified moment
 in time (in nanoseconds).
Calculates the wait timeout ( in nanoseconds ) to the specified moment in time ( in nanoseconds ) .