code: public JobInformationRecorder withProperty(Map<String, String> properties) {
      if(sourceBatcher.isStarted()) throw new IllegalStateException("Configuration cannot be changed after startJob has been called");
      this.properties.clear();
      this.properties.putAll(properties);
      return this;
    }
docs: Sets the map of key value pairs to the job information. This would be persisted along with
  the other job information like start time, end time etc. This would clear any key value property
  set before and initialize the properties with this map.
  
  @param properties map of Key value pairs
  @return