code: public void reportError(Throwable t) {
  		checkNotNull(t);
  
  		synchronized (lock) {
  			// do not override the initial exception
  			if (error == null) {
  				error = t;
  			}
  			next = null;
  			lock.notifyAll();
  		}
  	}
docs: Reports an exception. The consumer will throw the given exception immediately, if
  it is currently blocked in the {@link #pollNext()} method, or the next time it
  calls that method.
  
  <p>After this method has been called, no call to either {@link #produce(ConsumerRecords)}
  or {@link #pollNext()} will ever return regularly any more, but will always return
  exceptionally.
  
  <p>If another exception was already reported, this method does nothing.
  
  <p>For the producer, the Handover will appear as if it was {@link #close() closed}.
  
  @param t The exception to report.