code: public JobInformationRecorder withProperty(String key, String value) {
      if(sourceBatcher.isStarted()) throw new IllegalStateException("Configuration cannot be changed after startJob has been called");
      properties.put(key, value);
      return this;
    }
docs: Sets the key value pair to the job information. This would be persisted along with the other job
  information like start time, end time etc
  
  @param key  key of the key value pair
  @param value  value of the key value pair
  @return this object for chaining