class ThreadUtil {

	public static void parkNanosSafe(final long sleepTotal)
	{
		final long sleepStart = System.nanoTime();
		long stillSleep = sleepTotal;
		
		do
		{
			LockSupport.parkNanos(stillSleep);
			long timeSinceStart = System.nanoTime() - sleepStart;
			stillSleep = sleepTotal - timeSinceStart;
		} while (stillSleep > 0);
	}

	private  ThreadUtil();

}