docs: @Override
  	public Object next() {
  		Object object = cloner.deepClone(templateObject);
  
  		Map<String, Object> values = nextValues();
  
  		for (Map.Entry<String, Object> entry : values.entrySet()) {
  			try {
  				PropertyUtils.setProperty(object, entry.getKey(), entry.getValue());
  			}
  			catch (Exception e) {
  				throw new RuntimeException(e);
  			}
  		}
  
  		return object;
  	}