code: public void read(Callback<Event> callback) throws BugError, InterruptedException {
  		if (inputStream == null) {
  			throw new BugError("Attempt to read from a not connected event stream.");
  		}
  		this.callback = callback;
  		thread = new Thread(this, getClass().getSimpleName());
  		synchronized (this) {
  			thread.start();
  			thread.wait(THREAD_START_TIMEOUT);
  		}
  	}
docs: Read asynchronously events from connected event stream. This method start read thread and returns immediately. Given
  callback argument is used to pass events; when a new event arrives from server {@link Callback#handle(Object)} is
  invoked.
  <p>
  Please note that this method should be used on a connected event stream, i.e. after {@link #open(URL)} or auto-open
  constructor.
  
  @param callback callback invoked on new event or on error.
  @throws BugError if attempt to use this method on a not connected event stream.
  @throws InterruptedException if waiting for thread start is interrupted.