docs: @Override
  	public boolean hasNext() {
  		if (next == null) {
  			try {
  				next = readNextFromStream();
  			} catch (Exception e) {
  				throw new RuntimeException("Failed to receive next element: " + e.getMessage(), e);
  			}
  		}
  
  		return next != null;
  	}