docs: protected void waitUntilDisconnected() {
  		try {
  			synchronized (mLock) {
  				while (mConnectionState != STATE_DISCONNECTED && mError == 0)
  					mLock.wait();
  			}
  		} catch (final InterruptedException e) {
  			loge("Sleeping interrupted", e);
  		}
  	}