docs: public void close() throws InterruptedException {
  		assert connection != null;
  		if (connection != null) {
  			Files.close(inputStream);
  			if (thread.isAlive()) {
  				synchronized (this) {
  					if (thread.isAlive()) {
  						thread.wait(THREAD_STOP_TIMEOUT);
  					}
  				}
  			}
  		}
  	}