// Path: ee7-jca-eis-impl/src/main/java/org/darrylmiles/example/eis/EisImpl.java
// public class EisImpl {
// 
// 	private static final Logger log = LoggerFactory.getLogger(EisImpl.class);
// 
// 	public EisImpl() {
// 		log.debug("");
// 	}
// 
// 	public long methodOne() {
// 		log.debug("");
// 		return 0;
// 	}
// 
// }


import javax.resource.spi.work.Work;
import org.darrylmiles.example.eis.EisImpl;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
		while(true) {
			long left = elapsedTimer.leftSinceEpoc(timeout, timeout);
			if(left <= 0) {
				if(first && timeout > 0)		// wait at least one time, when timeout>0
					left = 1;
				else
					break;
			}
			synchronized (this) {
				if(isStartupReadyFlag())
					return true;
				wait(left);
			}
			first = false;
		}
		return false;
	}

	public boolean waitForShutdown(/*@Nonnegative*/ long timeout) throws InterruptedException {
		boolean first = true;
		ElapsedTimer elapsedTimer = new ElapsedTimer();
		elapsedTimer.start();
		while(true) {
			long left = elapsedTimer.leftSinceEpoc(timeout, timeout);
			if(left <= 0) {
				if(first && timeout > 0)		// wait at least one time, when timeout>0
					left = 1;
				else
					break;
			}
// Path: ee7-jca-eis-impl/src/main/java/org/darrylmiles/example/eis/EisImpl.java
// public class EisImpl {
// 
// 	private static final Logger log = LoggerFactory.getLogger(EisImpl.class);
// 
// 	public EisImpl() {
// 		log.debug("");
// 	}
// 
// 	public long methodOne() {
// 		log.debug("");
// 		return 0;
// 	}
// 
// }


// Path: ee7-jca-eis-rar-impl/src/main/java/org/darrylmiles/example/ee7/jca/eis/rar/driver/EisConnectionWorker.java
import javax.resource.spi.work.Work;
import org.darrylmiles.example.eis.EisImpl;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

		while(true) {
			long left = elapsedTimer.leftSinceEpoc(timeout, timeout);
			if(left <= 0) {
				if(first && timeout > 0)		// wait at least one time, when timeout>0
					left = 1;
				else
					break;
			}
			synchronized (this) {
				if(isStartupReadyFlag())
					return true;
				wait(left);
			}
			first = false;
		}
		return false;
	}

	public boolean waitForShutdown(/*@Nonnegative*/ long timeout) throws InterruptedException {
		boolean first = true;
		ElapsedTimer elapsedTimer = new ElapsedTimer();
		elapsedTimer.start();
		while(true) {
			long left = elapsedTimer.leftSinceEpoc(timeout, timeout);
			if(left <= 0) {
				if(first && timeout > 0)		// wait at least one time, when timeout>0
					left = 1;
				else
					break;
			}
			synchronized (this) {