code: private IGPSObject waitForResult() {
  		synchronized (this.asyncWaitMutex) {
  			if (this.asyncResult == null) {
  				try {
  					this.asyncWaitMutex.wait(1000);
  				} catch (final InterruptedException e) {
  					GPSdEndpoint.LOG.info("Interrupted while waiting for result", e);
  				}
  			}
  			final IGPSObject result = this.asyncResult;
  			this.asyncResult = null;
  			return result;
  		}
  	}
docs: /*
  wait for a response for one second